Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
8fb0bfb0
Commit
8fb0bfb0
authored
Mar 18, 2016
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #23179 from wojtek-t/remove_old_deep_copy_generator
Auto commit by PR queue bot
parents
2c5903ac
ce9b2ab3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
0 additions
and
342 deletions
+0
-342
deep_copy.go
cmd/gendeepcopy/deep_copy.go
+0
-157
update-generated-deep-copies.sh
hack/after-build/update-generated-deep-copies.sh
+0
-67
verify-generated-deep-copies.sh
hack/after-build/verify-generated-deep-copies.sh
+0
-56
golang.sh
hack/lib/golang.sh
+0
-1
update-all.sh
hack/update-all.sh
+0
-1
update-generated-deep-copies.sh
hack/update-generated-deep-copies.sh
+0
-30
verify-generated-deep-copies.sh
hack/verify-generated-deep-copies.sh
+0
-30
deep_copy_generator.go
pkg/runtime/deep_copy_generator.go
+0
-0
No files found.
cmd/gendeepcopy/deep_copy.go
deleted
100644 → 0
View file @
2c5903ac
/*
Copyright 2015 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
main
import
(
"bytes"
"fmt"
"io"
"os"
"path"
"runtime"
"strings"
"k8s.io/kubernetes/pkg/api"
_
"k8s.io/kubernetes/pkg/api/install"
"k8s.io/kubernetes/pkg/api/unversioned"
_
"k8s.io/kubernetes/pkg/apis/autoscaling/install"
_
"k8s.io/kubernetes/pkg/apis/batch/install"
_
"k8s.io/kubernetes/pkg/apis/componentconfig/install"
_
"k8s.io/kubernetes/pkg/apis/extensions/install"
_
"k8s.io/kubernetes/pkg/apis/metrics/install"
kruntime
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/util/sets"
"github.com/golang/glog"
flag
"github.com/spf13/pflag"
"golang.org/x/tools/imports"
)
const
pkgBase
=
"k8s.io/kubernetes/pkg"
var
(
functionDest
=
flag
.
StringP
(
"funcDest"
,
"f"
,
"-"
,
"Output for deep copy functions; '-' means stdout"
)
groupVersion
=
flag
.
StringP
(
"version"
,
"v"
,
""
,
"groupPath/version for deep copies."
)
overwrites
=
flag
.
StringP
(
"overwrites"
,
"o"
,
""
,
"Comma-separated overwrites for package names"
)
)
// types inside the api package don't need to say "api.Scheme"; all others do.
func
destScheme
(
gv
unversioned
.
GroupVersion
)
string
{
if
gv
==
api
.
SchemeGroupVersion
{
return
"Scheme"
}
return
"api.Scheme"
}
// We're moving to pkg/apis/group/version. This handles new and legacy packages.
func
pkgPath
(
group
,
version
string
)
string
{
if
group
==
""
{
group
=
"api"
}
gv
:=
group
if
version
!=
"__internal"
{
gv
=
path
.
Join
(
group
,
version
)
}
switch
{
case
group
==
"api"
:
// TODO(lavalamp): remove this special case when we move api to apis/api
return
path
.
Join
(
pkgBase
,
gv
)
default
:
return
path
.
Join
(
pkgBase
,
"apis"
,
gv
)
}
}
func
main
()
{
runtime
.
GOMAXPROCS
(
runtime
.
NumCPU
())
flag
.
Parse
()
var
funcOut
io
.
Writer
if
*
functionDest
==
"-"
{
funcOut
=
os
.
Stdout
}
else
{
file
,
err
:=
os
.
Create
(
*
functionDest
)
if
err
!=
nil
{
glog
.
Fatalf
(
"Couldn't open %v: %v"
,
*
functionDest
,
err
)
}
defer
file
.
Close
()
funcOut
=
file
}
data
:=
new
(
bytes
.
Buffer
)
gv
,
err
:=
unversioned
.
ParseGroupVersion
(
*
groupVersion
)
if
err
!=
nil
{
glog
.
Fatalf
(
"Error parsing groupversion %v: %v"
,
*
groupVersion
,
err
)
}
registerTo
:=
destScheme
(
gv
)
var
pkgname
string
if
gv
.
Group
==
""
{
// the internal version of v1 is registered in package api
pkgname
=
"api"
}
else
{
pkgname
=
gv
.
Group
}
if
len
(
gv
.
Version
)
!=
0
&&
gv
.
Version
!=
kruntime
.
APIVersionInternal
{
pkgname
=
gv
.
Version
}
_
,
err
=
data
.
WriteString
(
fmt
.
Sprintf
(
"package %s
\n
"
,
pkgname
))
if
err
!=
nil
{
glog
.
Fatalf
(
"Error while writing package line: %v"
,
err
)
}
versionPath
:=
pkgPath
(
gv
.
Group
,
gv
.
Version
)
generator
:=
kruntime
.
NewDeepCopyGenerator
(
api
.
Scheme
,
versionPath
,
sets
.
NewString
(
"k8s.io/kubernetes"
))
generator
.
AddImport
(
path
.
Join
(
pkgBase
,
"api"
))
if
len
(
*
overwrites
)
>
0
{
for
_
,
overwrite
:=
range
strings
.
Split
(
*
overwrites
,
","
)
{
if
!
strings
.
Contains
(
overwrite
,
"="
)
{
glog
.
Fatalf
(
"Invalid overwrite syntax: %s"
,
overwrite
)
}
vals
:=
strings
.
Split
(
overwrite
,
"="
)
generator
.
OverwritePackage
(
vals
[
0
],
vals
[
1
])
}
}
for
_
,
knownType
:=
range
api
.
Scheme
.
KnownTypes
(
gv
)
{
if
knownType
.
PkgPath
()
!=
versionPath
{
continue
}
if
err
:=
generator
.
AddType
(
knownType
);
err
!=
nil
{
glog
.
Errorf
(
"Error while generating deep copy functions for %v: %v"
,
knownType
,
err
)
}
}
generator
.
RepackImports
()
if
err
:=
generator
.
WriteImports
(
data
);
err
!=
nil
{
glog
.
Fatalf
(
"Error while writing imports: %v"
,
err
)
}
if
err
:=
generator
.
WriteDeepCopyFunctions
(
data
);
err
!=
nil
{
glog
.
Fatalf
(
"Error while writing deep copy functions: %v"
,
err
)
}
if
err
:=
generator
.
RegisterDeepCopyFunctions
(
data
,
registerTo
);
err
!=
nil
{
glog
.
Fatalf
(
"Error while registering deep copy functions: %v"
,
err
)
}
b
,
err
:=
imports
.
Process
(
""
,
data
.
Bytes
(),
nil
)
if
err
!=
nil
{
glog
.
Fatalf
(
"Error while update imports: %v"
,
err
)
}
if
_
,
err
:=
funcOut
.
Write
(
b
);
err
!=
nil
{
glog
.
Fatalf
(
"Error while writing out the resulting file: %v"
,
err
)
}
}
hack/after-build/update-generated-deep-copies.sh
deleted
100755 → 0
View file @
2c5903ac
#!/bin/bash
# Copyright 2015 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/../..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
gendeepcopy
=
$(
kube::util::find-binary
"gendeepcopy"
)
function
generate_version
()
{
local
group_version
=
$1
local
TMPFILE
=
"/tmp/deep_copy_generated.
$(
date
+%s
)
.go"
echo
"Generating for
${
group_version
}
"
sed
's/YEAR/2015/'
hack/boilerplate/boilerplate.go.txt
>
$TMPFILE
cat
>>
$TMPFILE
<<
EOF
// DO NOT EDIT. THIS FILE IS AUTO-GENERATED BY \
$KUBEROOT
/hack/update-generated-deep-copies.sh.
EOF
"
${
gendeepcopy
}
"
-v
"
${
group_version
}
"
-f
-
-o
"
${
group_version
}
="
>>
"
$TMPFILE
"
local
dest
=
"pkg/
$(
kube::util::group-version-to-pkg-path
"
${
group_version
}
"
)
/deep_copy_generated.go"
rm
-f
"
${
dest
}
"
mv
"
${
TMPFILE
}
"
"
${
dest
}
"
}
function
generate_deep_copies
()
{
local
group_versions
=
"
$@
"
for
ver
in
${
group_versions
}
;
do
# Ensure that the version being processed is registered by setting
# KUBE_API_VERSIONS.
if
[
-z
${
ver
##*/
}
]
;
then
apiVersions
=
""
else
apiVersions
=
"
${
ver
}
"
fi
KUBE_API_VERSIONS
=
"
${
apiVersions
:-}
"
generate_version
"
${
ver
}
"
done
}
# v1 is in the group ""
# Currently pkg/api/deep_copy_generated.go is generated by the new go2idl generator.
# All others (mentioned above) are still generated by the old reflection-based generator.
# TODO: Migrate these to the new generator.
DEFAULT_VERSIONS
=
""
VERSIONS
=
${
VERSIONS
:-
$DEFAULT_VERSIONS
}
generate_deep_copies
"
$VERSIONS
"
hack/after-build/verify-generated-deep-copies.sh
deleted
100755 → 0
View file @
2c5903ac
#!/bin/bash
# Copyright 2015 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/../..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
gendeepcopy
=
$(
kube::util::find-binary
"gendeepcopy"
)
APIROOTS
=
${
APIROOTS
:-
pkg
/api pkg/apis/authorization pkg/apis/autoscaling pkg/apis/batch pkg/apis/extensions pkg/apis/metrics
}
_tmp
=
"
${
KUBE_ROOT
}
/_tmp"
cleanup
()
{
rm
-rf
"
${
_tmp
}
"
}
trap
"cleanup"
EXIT SIGINT
for
APIROOT
in
${
APIROOTS
}
;
do
mkdir
-p
"
${
_tmp
}
/
${
APIROOT
%/*
}
"
cp
-a
"
${
KUBE_ROOT
}
/
${
APIROOT
}
"
"
${
_tmp
}
/
${
APIROOT
}
"
done
"
${
KUBE_ROOT
}
/hack/after-build/update-generated-deep-copies.sh"
for
APIROOT
in
${
APIROOTS
}
;
do
TMP_APIROOT
=
"
${
_tmp
}
/
${
APIROOT
}
"
echo
"diffing
${
APIROOT
}
against freshly generated deep copies"
ret
=
0
diff
-Naupr
-I
'Auto generated by'
"
${
KUBE_ROOT
}
/
${
APIROOT
}
"
"
${
TMP_APIROOT
}
"
||
ret
=
$?
cp
-a
${
TMP_APIROOT
}
"
${
KUBE_ROOT
}
/
${
APIROOT
%/*
}
"
if
[[
$ret
-eq
0
]]
;
then
echo
"
${
APIROOT
}
up to date."
else
echo
"
${
APIROOT
}
is out of date. Please run hack/update-generated-deep-copies.sh"
exit
1
fi
done
hack/lib/golang.sh
View file @
8fb0bfb0
...
@@ -104,7 +104,6 @@ kube::golang::test_targets() {
...
@@ -104,7 +104,6 @@ kube::golang::test_targets() {
cmd/mungedocs
cmd/mungedocs
cmd/genbashcomp
cmd/genbashcomp
cmd/genconversion
cmd/genconversion
cmd/gendeepcopy
cmd/genswaggertypedocs
cmd/genswaggertypedocs
examples/k8petstore/web-server/src
examples/k8petstore/web-server/src
github.com/onsi/ginkgo/ginkgo
github.com/onsi/ginkgo/ginkgo
...
...
hack/update-all.sh
View file @
8fb0bfb0
...
@@ -52,7 +52,6 @@ fi
...
@@ -52,7 +52,6 @@ fi
BASH_TARGETS
=
"codecgen
BASH_TARGETS
=
"codecgen
generated-conversions
generated-conversions
generated-deep-copies
generated-docs
generated-docs
generated-swagger-docs
generated-swagger-docs
swagger-spec
swagger-spec
...
...
hack/update-generated-deep-copies.sh
deleted
100755 → 0
View file @
2c5903ac
#!/bin/bash
# Copyright 2015 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/gendeepcopy
"
${
KUBE_ROOT
}
/hack/after-build/update-generated-deep-copies.sh"
"
$@
"
# ex: ts=2 sw=2 et filetype=sh
hack/verify-generated-deep-copies.sh
deleted
100755 → 0
View file @
2c5903ac
#!/bin/bash
# Copyright 2015 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/gendeepcopy
"
${
KUBE_ROOT
}
/hack/after-build/verify-generated-deep-copies.sh"
"
$@
"
# ex: ts=2 sw=2 et filetype=sh
pkg/runtime/deep_copy_generator.go
deleted
100644 → 0
View file @
2c5903ac
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment