From abfb658d76e2cb2d5446decd8e7bdbf8f82d95ed Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Wed, 20 Sep 2017 15:38:48 +0200 Subject: [PATCH] sample-apiserver: port to k8s.io/code-generator/generate-internal-groups.sh --- hack/.golint_failures | 14 +++- .../hack/custom-boilerplate.go.txt | 16 +++++ .../sample-apiserver/hack/update-codegen.sh | 65 ++++--------------- .../admission/plugin/banflunder/admission.go | 4 +- .../plugin/banflunder/admission_test.go | 4 +- .../admission/wardleinitializer/interfaces.go | 2 +- .../wardleinitializer/wardleinitializer.go | 2 +- .../wardleinitializer_test.go | 4 +- .../pkg/apis/wardle/v1alpha1/doc.go | 2 +- .../sample-apiserver/pkg/cmd/server/start.go | 4 +- 10 files changed, 51 insertions(+), 66 deletions(-) create mode 100644 staging/src/k8s.io/sample-apiserver/hack/custom-boilerplate.go.txt diff --git a/hack/.golint_failures b/hack/.golint_failures index afd37390f12..c30b9d49801 100644 --- a/hack/.golint_failures +++ b/hack/.golint_failures @@ -765,8 +765,18 @@ staging/src/k8s.io/metrics/pkg/client/custom_metrics/fake staging/src/k8s.io/sample-apiserver/pkg/apis/wardle staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1 staging/src/k8s.io/sample-apiserver/pkg/apiserver -staging/src/k8s.io/sample-apiserver/pkg/client/informers_generated/externalversions/internalinterfaces -staging/src/k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion/internalinterfaces +staging/src/k8s.io/sample-apiserver/pkg/client/clientset/internalversion +staging/src/k8s.io/sample-apiserver/pkg/client/clientset/internalversion/fake +staging/src/k8s.io/sample-apiserver/pkg/client/clientset/internalversion/scheme +staging/src/k8s.io/sample-apiserver/pkg/client/clientset/internalversion/typed/wardle/internalversion +staging/src/k8s.io/sample-apiserver/pkg/client/clientset/internalversion/typed/wardle/internalversion/fake +staging/src/k8s.io/sample-apiserver/pkg/client/clientset/versioned +staging/src/k8s.io/sample-apiserver/pkg/client/clientset/versioned/fake +staging/src/k8s.io/sample-apiserver/pkg/client/clientset/versioned/scheme +staging/src/k8s.io/sample-apiserver/pkg/client/clientset/versioned/typed/wardle/v1alpha1 +staging/src/k8s.io/sample-apiserver/pkg/client/clientset/versioned/typed/wardle/v1alpha1/fake +staging/src/k8s.io/sample-apiserver/pkg/client/informers/externalversions/internalinterfaces +staging/src/k8s.io/sample-apiserver/pkg/client/informers/internalversion/internalinterfaces staging/src/k8s.io/sample-apiserver/pkg/cmd/server staging/src/k8s.io/sample-apiserver/pkg/registry/wardle/fischer staging/src/k8s.io/sample-apiserver/pkg/registry/wardle/flunder diff --git a/staging/src/k8s.io/sample-apiserver/hack/custom-boilerplate.go.txt b/staging/src/k8s.io/sample-apiserver/hack/custom-boilerplate.go.txt new file mode 100644 index 00000000000..38f2d697beb --- /dev/null +++ b/staging/src/k8s.io/sample-apiserver/hack/custom-boilerplate.go.txt @@ -0,0 +1,16 @@ +/* +Copyright YEAR The Kubernetes sample-apiserver Authors. + +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. +*/ + diff --git a/staging/src/k8s.io/sample-apiserver/hack/update-codegen.sh b/staging/src/k8s.io/sample-apiserver/hack/update-codegen.sh index fb717e793b2..788a4e266ac 100755 --- a/staging/src/k8s.io/sample-apiserver/hack/update-codegen.sh +++ b/staging/src/k8s.io/sample-apiserver/hack/update-codegen.sh @@ -18,58 +18,17 @@ set -o errexit set -o nounset set -o pipefail -SCRIPT_PACKAGE=k8s.io/sample-apiserver -SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")/.. -SCRIPT_BASE=${SCRIPT_ROOT}/../.. -CODEGEN_PKG=${CODEGEN_PKG:-$(cd ${SCRIPT_ROOT}; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo k8s.io/code-generator)} +SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. +CODEGEN_PKG=${CODEGEN_PKG:-$(cd ${SCRIPT_ROOT}; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator)} -clientgen="${PWD}/client-gen-binary" -listergen="${PWD}/lister-gen" -informergen="${PWD}/informer-gen" -# Register function to be called on EXIT to remove generated binary. -function cleanup { - rm -f "${clientgen:-}" - rm -f "${listergen:-}" - rm -f "${informergen:-}" -} -trap cleanup EXIT +# generate the code with: +# --output-base because this script should also be able to run inside the vendor dir of +# k8s.io/kubernetes. The output-base is needed for the generators to output into the vendor dir +# instead of the $GOPATH directly. For normal projects this can be dropped. +${CODEGEN_PKG}/generate-internal-groups.sh all \ + k8s.io/sample-apiserver/pkg/client k8s.io/sample-apiserver/pkg/apis k8s.io/sample-apiserver/pkg/apis \ + wardle:v1alpha1 \ + --output-base "$(dirname ${BASH_SOURCE})/../../.." -function generate_group() { - local GROUP_NAME=$1 - local VERSION=$2 - local CLIENT_PKG=${SCRIPT_PACKAGE}/pkg/client - local LISTERS_PKG=${CLIENT_PKG}/listers_generated - local INFORMERS_PKG=${CLIENT_PKG}/informers_generated - local APIS_PKG=${SCRIPT_PACKAGE}/pkg/apis - local INPUT_APIS=( - ${GROUP_NAME}/ - ${GROUP_NAME}/${VERSION} - ) - - echo "Building client-gen" - go build -o "${clientgen}" ${CODEGEN_PKG}/cmd/client-gen - - echo "generating clientset for group ${GROUP_NAME} and version ${VERSION} at ${SCRIPT_BASE}/${CLIENT_PKG}" - ${clientgen} --input-base ${APIS_PKG} --input ${INPUT_APIS[@]} --clientset-path ${CLIENT_PKG}/clientset_generated --output-base=${SCRIPT_BASE} - ${clientgen} --clientset-name="clientset" --input-base ${APIS_PKG} --input ${GROUP_NAME}/${VERSION} --clientset-path ${CLIENT_PKG}/clientset_generated --output-base=${SCRIPT_BASE} - - echo "Building lister-gen" - go build -o "${listergen}" ${CODEGEN_PKG}/cmd/lister-gen - - echo "generating listers for group ${GROUP_NAME} and version ${VERSION} at ${SCRIPT_BASE}/${LISTERS_PKG}" - ${listergen} --input-dirs ${APIS_PKG}/${GROUP_NAME} --input-dirs ${APIS_PKG}/${GROUP_NAME}/${VERSION} --output-package ${LISTERS_PKG} --output-base ${SCRIPT_BASE} - - echo "Building informer-gen" - go build -o "${informergen}" ${CODEGEN_PKG}/cmd/informer-gen - - echo "generating informers for group ${GROUP_NAME} and version ${VERSION} at ${SCRIPT_BASE}/${INFORMERS_PKG}" - ${informergen} \ - --input-dirs ${APIS_PKG}/${GROUP_NAME} --input-dirs ${APIS_PKG}/${GROUP_NAME}/${VERSION} \ - --versioned-clientset-package ${CLIENT_PKG}/clientset_generated/clientset \ - --internal-clientset-package ${CLIENT_PKG}/clientset_generated/internalclientset \ - --listers-package ${LISTERS_PKG} \ - --output-package ${INFORMERS_PKG} \ - --output-base ${SCRIPT_BASE} -} - -generate_group wardle v1alpha1 +# To use your own boilerplate text append: +# --go-header-file ${SCRIPT_ROOT}/hack/custom-boilerplate.go.txt diff --git a/staging/src/k8s.io/sample-apiserver/pkg/admission/plugin/banflunder/admission.go b/staging/src/k8s.io/sample-apiserver/pkg/admission/plugin/banflunder/admission.go index 53fc094a2a8..1b279763906 100644 --- a/staging/src/k8s.io/sample-apiserver/pkg/admission/plugin/banflunder/admission.go +++ b/staging/src/k8s.io/sample-apiserver/pkg/admission/plugin/banflunder/admission.go @@ -26,8 +26,8 @@ import ( "k8s.io/apiserver/pkg/admission" "k8s.io/sample-apiserver/pkg/admission/wardleinitializer" "k8s.io/sample-apiserver/pkg/apis/wardle" - informers "k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion" - listers "k8s.io/sample-apiserver/pkg/client/listers_generated/wardle/internalversion" + informers "k8s.io/sample-apiserver/pkg/client/informers/internalversion" + listers "k8s.io/sample-apiserver/pkg/client/listers/wardle/internalversion" ) // Register registers a plugin diff --git a/staging/src/k8s.io/sample-apiserver/pkg/admission/plugin/banflunder/admission_test.go b/staging/src/k8s.io/sample-apiserver/pkg/admission/plugin/banflunder/admission_test.go index e082a2ab526..1b449abbb4a 100644 --- a/staging/src/k8s.io/sample-apiserver/pkg/admission/plugin/banflunder/admission_test.go +++ b/staging/src/k8s.io/sample-apiserver/pkg/admission/plugin/banflunder/admission_test.go @@ -28,8 +28,8 @@ import ( "k8s.io/sample-apiserver/pkg/admission/plugin/banflunder" "k8s.io/sample-apiserver/pkg/admission/wardleinitializer" "k8s.io/sample-apiserver/pkg/apis/wardle" - "k8s.io/sample-apiserver/pkg/client/clientset_generated/internalclientset/fake" - informers "k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion" + "k8s.io/sample-apiserver/pkg/client/clientset/internalversion/fake" + informers "k8s.io/sample-apiserver/pkg/client/informers/internalversion" ) // TestBanfluderAdmissionPlugin tests various test cases against diff --git a/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/interfaces.go b/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/interfaces.go index f82f42012b9..93a095b6f85 100644 --- a/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/interfaces.go +++ b/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/interfaces.go @@ -18,7 +18,7 @@ package wardleinitializer import ( "k8s.io/apiserver/pkg/admission" - informers "k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion" + informers "k8s.io/sample-apiserver/pkg/client/informers/internalversion" ) // WantsInternalWardleInformerFactory defines a function which sets InformerFactory for admission plugins that need it diff --git a/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/wardleinitializer.go b/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/wardleinitializer.go index 291c5cd190d..c53c8a4944a 100644 --- a/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/wardleinitializer.go +++ b/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/wardleinitializer.go @@ -18,7 +18,7 @@ package wardleinitializer import ( "k8s.io/apiserver/pkg/admission" - informers "k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion" + informers "k8s.io/sample-apiserver/pkg/client/informers/internalversion" ) type pluginInitializer struct { diff --git a/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/wardleinitializer_test.go b/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/wardleinitializer_test.go index 648fe6c04f1..9c306e315eb 100644 --- a/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/wardleinitializer_test.go +++ b/staging/src/k8s.io/sample-apiserver/pkg/admission/wardleinitializer/wardleinitializer_test.go @@ -22,8 +22,8 @@ import ( "k8s.io/apiserver/pkg/admission" "k8s.io/sample-apiserver/pkg/admission/wardleinitializer" - "k8s.io/sample-apiserver/pkg/client/clientset_generated/internalclientset/fake" - informers "k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion" + "k8s.io/sample-apiserver/pkg/client/clientset/internalversion/fake" + informers "k8s.io/sample-apiserver/pkg/client/informers/internalversion" ) // TestWantsInternalWardleInformerFactory ensures that the informer factory is injected diff --git a/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/doc.go b/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/doc.go index 94e54a6ba53..06c174cf11d 100644 --- a/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/doc.go +++ b/staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/doc.go @@ -15,7 +15,7 @@ limitations under the License. */ // +k8s:deepcopy-gen=package,register -// +k8s:conversion-gen=k8s.io/kubernetes/vendor/k8s.io/sample-apiserver/pkg/apis/wardle +// +k8s:conversion-gen=k8s.io/sample-apiserver/pkg/apis/wardle // Package v1alpha1 is the v1alpha1 version of the API. // +groupName=wardle.k8s.io diff --git a/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go b/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go index bd194cde9d1..8d15c8d846b 100644 --- a/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go +++ b/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go @@ -30,8 +30,8 @@ import ( "k8s.io/sample-apiserver/pkg/admission/wardleinitializer" "k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1" "k8s.io/sample-apiserver/pkg/apiserver" - clientset "k8s.io/sample-apiserver/pkg/client/clientset_generated/internalclientset" - informers "k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion" + clientset "k8s.io/sample-apiserver/pkg/client/clientset/internalversion" + informers "k8s.io/sample-apiserver/pkg/client/informers/internalversion" ) const defaultEtcdPathPrefix = "/registry/wardle.kubernetes.io"