Skip to content

Commit 70778cc

Browse files
committed
k8s.io/apimachinery scripts
1 parent ba61119 commit 70778cc

File tree

7 files changed

+97
-6
lines changed

7 files changed

+97
-6
lines changed

cmd/libs/go2idl/.import-restrictions

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"k8s.io/kubernetes/cmd/libs/go2idl",
77
"k8s.io/gengo",
88
"k8s.io/kubernetes/third_party",
9-
"k8s.io/kubernetes/pkg/util/sets"
9+
"k8s.io/apimachinery/third_party",
10+
"k8s.io/apimachinery/pkg/util/sets"
1011
]
1112
}
1213
]

cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ func New() *Generator {
6262
Packages: strings.Join([]string{
6363
`+k8s.io/kubernetes/pkg/util/intstr`,
6464
`+k8s.io/kubernetes/pkg/api/resource`,
65-
`+k8s.io/kubernetes/pkg/runtime/schema`,
66-
`+k8s.io/kubernetes/pkg/runtime`,
67-
`k8s.io/kubernetes/pkg/apis/meta/v1`,
65+
`+k8s.io/apimachinery/pkg/runtime/schema`,
66+
`+k8s.io/apimachinery/pkg/runtime`,
67+
`k8s.io/apimachinery/pkg/apis/meta/v1`,
6868
`k8s.io/kubernetes/pkg/api/v1`,
6969
`k8s.io/kubernetes/pkg/apis/policy/v1beta1`,
7070
`k8s.io/kubernetes/pkg/apis/extensions/v1beta1`,

cmd/libs/go2idl/openapi-gen/.import-restrictions

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
"SelectorRegexp": "k8s[.]io",
55
"AllowedPrefixes": [
66
"k8s.io/kubernetes/cmd/libs/go2idl",
7-
"k8s.io/kubernetes/pkg/genericapiserver/openapi/common",
7+
"k8s.io/apimachinery/pkg/genericapiserver/openapi/common",
88
"k8s.io/gengo",
99
"k8s.io/kubernetes/third_party",
10-
"k8s.io/kubernetes/pkg/util/sets"
10+
"k8s.io/apimachinery/third_party",
11+
"k8s.io/apimachinery/pkg/util/sets"
1112
]
1213
}
1314
]

hack/godep-save.sh

+3
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ pushd "${KUBE_ROOT}" > /dev/null
4444
if [ ! -e "vendor/k8s.io/apiserver" ]; then
4545
ln -s ../../staging/src/k8s.io/apiserver vendor/k8s.io/apiserver
4646
fi
47+
if [ ! -e "vendor/k8s.io/apimachinery" ]; then
48+
ln -s ../../staging/src/k8s.io/apimachinery vendor/k8s.io/apimachinery
49+
fi
4750
popd > /dev/null
4851

4952
echo "Don't forget to run hack/update-godep-licenses.sh if you added or removed a dependency!"

hack/make-rules/test.sh

+4
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ kube::test::find_dirs() {
6060
# run tests for apiserver
6161
find ./staging/src/k8s.io/apiserver -name '*_test.go' \
6262
-name '*_test.go' -print0 | xargs -0n1 dirname | sed 's|^\./staging/src/|./vendor/|' | LC_ALL=C sort -u
63+
64+
# run tests for apimachinery
65+
find ./staging/src/k8s.io/apimachinery -name '*_test.go' \
66+
-name '*_test.go' -print0 | xargs -0n1 dirname | sed 's|^\./staging/src/|./vendor/|' | LC_ALL=C sort -u
6367
)
6468
}
6569

staging/prime-apimachinery.sh

+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
#!/bin/bash
2+
3+
# Copyright 2016 The Kubernetes Authors.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
set -o errexit
18+
set -o nounset
19+
set -o pipefail
20+
21+
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
22+
source "${KUBE_ROOT}/hack/lib/init.sh"
23+
24+
kube::golang::setup_env
25+
26+
dir=$(mktemp -d "${TMPDIR:-/tmp/}$(basename 0).XXXXXXXXXXXX")
27+
echo ${dir}
28+
29+
echo k8s.io/kubernetes/pkg/apimachinery/registered > ${dir}/packages.txt
30+
echo k8s.io/kubernetes/pkg/runtime/serializer >> ${dir}/packages.txt
31+
echo k8s.io/kubernetes/pkg/runtime/serializer/yaml >> ${dir}/packages.txt
32+
echo k8s.io/kubernetes/pkg/runtime/serializer/streaming >> ${dir}/packages.txt
33+
echo k8s.io/kubernetes/pkg/runtime/serializer/recognizer/testing >> ${dir}/packages.txt
34+
go list -f {{.Deps}} k8s.io/kubernetes/pkg/apimachinery/registered | sed -e 's/ /\n/g' - | grep k8s.io | grep -v vendor >> ${dir}/packages.txt
35+
go list -f {{.Deps}} k8s.io/kubernetes/pkg/runtime/serializer | sed -e 's/ /\n/g' - | grep k8s.io | grep -v vendor >> ${dir}/packages.txt
36+
go list -f {{.Deps}} k8s.io/kubernetes/pkg/runtime/serializer/yaml | sed -e 's/ /\n/g' - | grep k8s.io | grep -v vendor >> ${dir}/packages.txt
37+
go list -f {{.Deps}} k8s.io/kubernetes/pkg/runtime/serializer/streaming | sed -e 's/ /\n/g' - | grep k8s.io | grep -v vendor >> ${dir}/packages.txt
38+
# used by tests
39+
echo k8s.io/kubernetes/pkg/util/diff >> ${dir}/packages.txt
40+
go list -f {{.Deps}} k8s.io/kubernetes/pkg/util/diff | sed -e 's/ /\n/g' - | grep k8s.io | grep -v vendor >> ${dir}/packages.txt
41+
LC_ALL=C sort -u -o ${dir}/packages.txt ${dir}/packages.txt
42+
43+
echo "moving these packages"
44+
cat ${dir}/packages.txt
45+
46+
# copy all the packages over
47+
while read package; do
48+
unprefix_package=$(echo ${package} | sed 's|k8s.io/kubernetes/||g')
49+
mkdir -p ${KUBE_ROOT}/staging/src/k8s.io/apimachinery/${unprefix_package}
50+
cp ${KUBE_ROOT}/${unprefix_package}/* ${KUBE_ROOT}/staging/src/k8s.io/apimachinery/${unprefix_package} || true
51+
done <${dir}/packages.txt
52+
53+
# need to remove the bazel files or bazel fails when this moves into vendor
54+
find ${KUBE_ROOT}/staging/src/k8s.io/apimachinery -name BUILD | xargs rm
55+
56+
# need to rewrite all the package imports for k8s.io/kuberentes to k8s.io/apimachinery
57+
find ${KUBE_ROOT}/staging/src/k8s.io/apimachinery -name "*.go" | xargs sed -i 's|k8s.io/kubernetes|k8s.io/apimachinery|g'
58+
59+
# need to rewrite all the package imports for these packages in the main repo to use the vendored copy
60+
while read package; do
61+
echo "rewriting import for ${package}"
62+
new_package=$(echo ${package} | sed 's|k8s.io/kubernetes|k8s.io/apimachinery|g')
63+
find ${KUBE_ROOT}/cmd ${KUBE_ROOT}/examples ${KUBE_ROOT}/federation ${KUBE_ROOT}/pkg ${KUBE_ROOT}/plugin ${KUBE_ROOT}/test -name "*.go" | xargs sed -i "s|${package}\"|${new_package}\"|g"
64+
done <${dir}/packages.txt
65+
66+
# we don't want to rewrite imports for the packages we're modifying. So check those back out, but only the files directly in that directory, not subdirs
67+
# also, add .readonly files to each folder we moved
68+
while read package; do
69+
unprefix_package=$(echo ${package} | sed 's|k8s.io/kubernetes/||g')
70+
find ${unprefix_package} -type f -maxdepth 1 | xargs git checkout
71+
touch ${unprefix_package}/.readonly
72+
done <${dir}/packages.txt
73+
74+
# this file generates something or other, but we don't want to accidentally have it generate into an apimachinery package
75+
git checkout cmd/libs/go2idl/set-gen/main.go
76+
77+
78+
# now run gofmt to get the sorting right
79+
echo "running gofmt"
80+
gofmt -s -w ${KUBE_ROOT}/cmd ${KUBE_ROOT}/examples ${KUBE_ROOT}/federation ${KUBE_ROOT}/pkg ${KUBE_ROOT}/plugin ${KUBE_ROOT}/test
81+

vendor/k8s.io/apimachinery

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)