mirror of https://github.com/k3s-io/k3s
sample-apiserver: port to k8s.io/code-generator/generate-internal-groups.sh
parent
cba2c0967f
commit
abfb658d76
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue