From c080d2d009eb31cb48ac078a7fc9ec43349c58a2 Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Fri, 29 Jun 2018 21:17:09 +0200 Subject: [PATCH] k8s.io/metrics: use standard code-gen scripts --- .../src/k8s.io/metrics/hack/update-codegen.sh | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/staging/src/k8s.io/metrics/hack/update-codegen.sh b/staging/src/k8s.io/metrics/hack/update-codegen.sh index 87694c333e0..50748f45cd6 100755 --- a/staging/src/k8s.io/metrics/hack/update-codegen.sh +++ b/staging/src/k8s.io/metrics/hack/update-codegen.sh @@ -18,25 +18,23 @@ set -o errexit set -o nounset set -o pipefail -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)} - -# Register function to be called on EXIT to remove generated binary. -function cleanup { - rm -f "${CLIENTGEN:-}" -} -trap cleanup EXIT - -echo "Building client-gen" -CLIENTGEN="${PWD}/client-gen" -go build -o "${CLIENTGEN}" ${CODEGEN_PKG}/cmd/client-gen - -PREFIX=k8s.io/metrics/pkg/apis -INPUT_BASE="--input-base ${PREFIX}" -CLIENTSET_PATH="--output-package k8s.io/metrics/pkg/client/clientset_generated" - -${CLIENTGEN} --clientset-name="clientset" ${INPUT_BASE} --input metrics/v1alpha1 --input metrics/v1beta1 ${CLIENTSET_PATH} --output-base ${SCRIPT_BASE} --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.go.txt +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)} +# 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. +# # we skip informers and listers for metrics, because we don't quite support the requisite operations yet # we skip generating the internal clientset as it's not really needed +${CODEGEN_PKG}/generate-internal-groups.sh deepcopy,conversion \ + k8s.io/metrics/pkg/client k8s.io/metrics/pkg/apis k8s.io/metrics/pkg/apis \ + "metrics:v1alpha1,v1beta1 custom_metrics:v1beta1 external_metrics:v1beta1" \ + --output-base "$(dirname ${BASH_SOURCE})/../../.." \ + --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.go.txt +${CODEGEN_PKG}/generate-groups.sh client \ + k8s.io/metrics/pkg/client k8s.io/metrics/pkg/apis \ + "metrics:v1alpha1,v1beta1" \ + --output-base "$(dirname ${BASH_SOURCE})/../../.." \ + --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.go.txt \ No newline at end of file