Commit abfb658d authored by Dr. Stefan Schimanski's avatar Dr. Stefan Schimanski

sample-apiserver: port to k8s.io/code-generator/generate-internal-groups.sh

parent cba2c096
...@@ -765,8 +765,18 @@ staging/src/k8s.io/metrics/pkg/client/custom_metrics/fake ...@@ -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
staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1 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/apiserver
staging/src/k8s.io/sample-apiserver/pkg/client/informers_generated/externalversions/internalinterfaces staging/src/k8s.io/sample-apiserver/pkg/client/clientset/internalversion
staging/src/k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion/internalinterfaces 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/cmd/server
staging/src/k8s.io/sample-apiserver/pkg/registry/wardle/fischer staging/src/k8s.io/sample-apiserver/pkg/registry/wardle/fischer
staging/src/k8s.io/sample-apiserver/pkg/registry/wardle/flunder staging/src/k8s.io/sample-apiserver/pkg/registry/wardle/flunder
......
/*
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.
*/
...@@ -18,58 +18,17 @@ set -o errexit ...@@ -18,58 +18,17 @@ set -o errexit
set -o nounset set -o nounset
set -o pipefail set -o pipefail
SCRIPT_PACKAGE=k8s.io/sample-apiserver SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/..
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)}
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)} # generate the code with:
# --output-base because this script should also be able to run inside the vendor dir of
clientgen="${PWD}/client-gen-binary" # k8s.io/kubernetes. The output-base is needed for the generators to output into the vendor dir
listergen="${PWD}/lister-gen" # instead of the $GOPATH directly. For normal projects this can be dropped.
informergen="${PWD}/informer-gen" ${CODEGEN_PKG}/generate-internal-groups.sh all \
# Register function to be called on EXIT to remove generated binary. k8s.io/sample-apiserver/pkg/client k8s.io/sample-apiserver/pkg/apis k8s.io/sample-apiserver/pkg/apis \
function cleanup { wardle:v1alpha1 \
rm -f "${clientgen:-}" --output-base "$(dirname ${BASH_SOURCE})/../../.."
rm -f "${listergen:-}"
rm -f "${informergen:-}" # To use your own boilerplate text append:
} # --go-header-file ${SCRIPT_ROOT}/hack/custom-boilerplate.go.txt
trap cleanup EXIT
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
...@@ -26,8 +26,8 @@ import ( ...@@ -26,8 +26,8 @@ import (
"k8s.io/apiserver/pkg/admission" "k8s.io/apiserver/pkg/admission"
"k8s.io/sample-apiserver/pkg/admission/wardleinitializer" "k8s.io/sample-apiserver/pkg/admission/wardleinitializer"
"k8s.io/sample-apiserver/pkg/apis/wardle" "k8s.io/sample-apiserver/pkg/apis/wardle"
informers "k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion" informers "k8s.io/sample-apiserver/pkg/client/informers/internalversion"
listers "k8s.io/sample-apiserver/pkg/client/listers_generated/wardle/internalversion" listers "k8s.io/sample-apiserver/pkg/client/listers/wardle/internalversion"
) )
// Register registers a plugin // Register registers a plugin
......
...@@ -28,8 +28,8 @@ import ( ...@@ -28,8 +28,8 @@ import (
"k8s.io/sample-apiserver/pkg/admission/plugin/banflunder" "k8s.io/sample-apiserver/pkg/admission/plugin/banflunder"
"k8s.io/sample-apiserver/pkg/admission/wardleinitializer" "k8s.io/sample-apiserver/pkg/admission/wardleinitializer"
"k8s.io/sample-apiserver/pkg/apis/wardle" "k8s.io/sample-apiserver/pkg/apis/wardle"
"k8s.io/sample-apiserver/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/sample-apiserver/pkg/client/clientset/internalversion/fake"
informers "k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion" informers "k8s.io/sample-apiserver/pkg/client/informers/internalversion"
) )
// TestBanfluderAdmissionPlugin tests various test cases against // TestBanfluderAdmissionPlugin tests various test cases against
......
...@@ -18,7 +18,7 @@ package wardleinitializer ...@@ -18,7 +18,7 @@ package wardleinitializer
import ( import (
"k8s.io/apiserver/pkg/admission" "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 // WantsInternalWardleInformerFactory defines a function which sets InformerFactory for admission plugins that need it
......
...@@ -18,7 +18,7 @@ package wardleinitializer ...@@ -18,7 +18,7 @@ package wardleinitializer
import ( import (
"k8s.io/apiserver/pkg/admission" "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 { type pluginInitializer struct {
......
...@@ -22,8 +22,8 @@ import ( ...@@ -22,8 +22,8 @@ import (
"k8s.io/apiserver/pkg/admission" "k8s.io/apiserver/pkg/admission"
"k8s.io/sample-apiserver/pkg/admission/wardleinitializer" "k8s.io/sample-apiserver/pkg/admission/wardleinitializer"
"k8s.io/sample-apiserver/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/sample-apiserver/pkg/client/clientset/internalversion/fake"
informers "k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion" informers "k8s.io/sample-apiserver/pkg/client/informers/internalversion"
) )
// TestWantsInternalWardleInformerFactory ensures that the informer factory is injected // TestWantsInternalWardleInformerFactory ensures that the informer factory is injected
......
...@@ -15,7 +15,7 @@ limitations under the License. ...@@ -15,7 +15,7 @@ limitations under the License.
*/ */
// +k8s:deepcopy-gen=package,register // +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. // Package v1alpha1 is the v1alpha1 version of the API.
// +groupName=wardle.k8s.io // +groupName=wardle.k8s.io
......
...@@ -30,8 +30,8 @@ import ( ...@@ -30,8 +30,8 @@ import (
"k8s.io/sample-apiserver/pkg/admission/wardleinitializer" "k8s.io/sample-apiserver/pkg/admission/wardleinitializer"
"k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1" "k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1"
"k8s.io/sample-apiserver/pkg/apiserver" "k8s.io/sample-apiserver/pkg/apiserver"
clientset "k8s.io/sample-apiserver/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/sample-apiserver/pkg/client/clientset/internalversion"
informers "k8s.io/sample-apiserver/pkg/client/informers_generated/internalversion" informers "k8s.io/sample-apiserver/pkg/client/informers/internalversion"
) )
const defaultEtcdPathPrefix = "/registry/wardle.kubernetes.io" const defaultEtcdPathPrefix = "/registry/wardle.kubernetes.io"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment