Skip to content

Commit 7465f54

Browse files
committed
use kube_codegen.sh to generate all kube code in examples/
On-behalf-of: @SAP [email protected]
1 parent 86005bf commit 7465f54

File tree

3 files changed

+50
-71
lines changed

3 files changed

+50
-71
lines changed

Makefile

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -23,33 +23,10 @@ TOOLS_DIR=hack/tools
2323
GOBIN_DIR := $(abspath $(TOOLS_DIR))
2424
TMPDIR := $(shell mktemp -d)
2525

26-
CONTROLLER_GEN_VER := v0.17.0
27-
CONTROLLER_GEN_BIN := controller-gen
28-
CONTROLLER_GEN := $(GOBIN_DIR)/$(CONTROLLER_GEN_BIN)-$(CONTROLLER_GEN_VER)
29-
export CONTROLLER_GEN
30-
3126
GOLANGCI_LINT_VER := v1.62.2
3227
GOLANGCI_LINT_BIN := golangci-lint
3328
GOLANGCI_LINT := $(GOBIN_DIR)/$(GOLANGCI_LINT_BIN)-$(GOLANGCI_LINT_VER)
3429

35-
KUBE_CLIENT_GEN_VER := v0.32.3
36-
KUBE_CLIENT_GEN_BIN := client-gen
37-
KUBE_LISTER_GEN_VER := v0.32.3
38-
KUBE_LISTER_GEN_BIN := lister-gen
39-
KUBE_INFORMER_GEN_VER := v0.32.3
40-
KUBE_INFORMER_GEN_BIN := informer-gen
41-
KUBE_APPLYCONFIGURATION_GEN_VER := v0.32.3
42-
KUBE_APPLYCONFIGURATION_GEN_BIN := applyconfiguration-gen
43-
44-
KUBE_CLIENT_GEN := $(GOBIN_DIR)/$(KUBE_CLIENT_GEN_BIN)-$(KUBE_CLIENT_GEN_VER)
45-
export KUBE_CLIENT_GEN
46-
KUBE_LISTER_GEN := $(GOBIN_DIR)/$(KUBE_LISTER_GEN_BIN)-$(KUBE_LISTER_GEN_VER)
47-
export KUBE_LISTER_GEN
48-
KUBE_INFORMER_GEN := $(GOBIN_DIR)/$(KUBE_INFORMER_GEN_BIN)-$(KUBE_INFORMER_GEN_VER)
49-
export KUBE_INFORMER_GEN
50-
KUBE_APPLYCONFIGURATION_GEN := $(GOBIN_DIR)/$(KUBE_APPLYCONFIGURATION_GEN_BIN)-$(KUBE_APPLYCONFIGURATION_GEN_VER)
51-
export KUBE_APPLYCONFIGURATION_GEN
52-
5330
OPENSHIFT_GOIMPORTS_VER := c70783e636f2213cac683f6865d88c5edace3157
5431
OPENSHIFT_GOIMPORTS_BIN := openshift-goimports
5532
OPENSHIFT_GOIMPORTS := $(TOOLS_DIR)/$(OPENSHIFT_GOIMPORTS_BIN)-$(OPENSHIFT_GOIMPORTS_VER)
@@ -63,18 +40,6 @@ imports: $(OPENSHIFT_GOIMPORTS)
6340
$(OPENSHIFT_GOIMPORTS) --path ./examples -m acme.corp
6441
.PHONY: imports
6542

66-
$(CONTROLLER_GEN):
67-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) sigs.k8s.io/controller-tools/cmd/$(CONTROLLER_GEN_BIN) $(CONTROLLER_GEN_BIN) $(CONTROLLER_GEN_VER)
68-
69-
$(KUBE_CLIENT_GEN):
70-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_CLIENT_GEN_BIN) $(KUBE_CLIENT_GEN_BIN) $(KUBE_CLIENT_GEN_VER)
71-
$(KUBE_LISTER_GEN):
72-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_LISTER_GEN_BIN) $(KUBE_LISTER_GEN_BIN) $(KUBE_LISTER_GEN_VER)
73-
$(KUBE_INFORMER_GEN):
74-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_INFORMER_GEN_BIN) $(KUBE_INFORMER_GEN_BIN) $(KUBE_INFORMER_GEN_VER)
75-
$(KUBE_APPLYCONFIGURATION_GEN):
76-
GOBIN=$(GOBIN_DIR) $(GO_INSTALL) k8s.io/code-generator/cmd/$(KUBE_APPLYCONFIGURATION_GEN_BIN) $(KUBE_APPLYCONFIGURATION_GEN_BIN) $(KUBE_APPLYCONFIGURATION_GEN_VER)
77-
7843
.PHONY: clean
7944
clean:
8045
rm -rf $(BUILD_DEST)
@@ -94,7 +59,7 @@ install:
9459
go install
9560

9661
.PHONY: codegen
97-
codegen: $(CONTROLLER_GEN) $(KUBE_CLIENT_GEN) $(KUBE_LISTER_GEN) $(KUBE_INFORMER_GEN) $(KUBE_APPLYCONFIGURATION_GEN) build
62+
codegen: build
9863
./hack/update-codegen.sh
9964
$(MAKE) imports
10065

hack/tools.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//go:build tools
2+
// +build tools
3+
4+
/*
5+
Copyright 2021 The KCP Authors.
6+
7+
Licensed under the Apache License, Version 2.0 (the "License");
8+
you may not use this file except in compliance with the License.
9+
You may obtain a copy of the License at
10+
11+
http://www.apache.org/licenses/LICENSE-2.0
12+
13+
Unless required by applicable law or agreed to in writing, software
14+
distributed under the License is distributed on an "AS IS" BASIS,
15+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
See the License for the specific language governing permissions and
17+
limitations under the License.
18+
*/
19+
20+
package tools
21+
22+
// This package imports things required by this repository, to force `go mod` to see them as dependencies
23+
import (
24+
_ "k8s.io/code-generator/cmd/client-gen"
25+
)

hack/update-codegen.sh

Lines changed: 24 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -24,50 +24,36 @@ if [[ -z "${MAKELEVEL:-}" ]]; then
2424
exit 1
2525
fi
2626

27+
SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
28+
CODEGEN_PKG=${CODEGEN_PKG:-$(cd "${SCRIPT_ROOT}"; go list -f '{{.Dir}}' -m k8s.io/code-generator)}
29+
30+
source "${CODEGEN_PKG}/kube_codegen.sh"
2731
source cluster_codegen.sh
2832

2933
pushd ./examples
3034

3135
# Generate deepcopy functions
32-
${CONTROLLER_GEN} object paths=./pkg/apis/...
33-
34-
# Generate standard clientset
35-
${KUBE_CLIENT_GEN} \
36-
--clientset-name versioned \
37-
--go-header-file ./../hack/boilerplate/boilerplate.generatego.txt \
38-
--input-base acme.corp/pkg/apis \
39-
--input example/v1 \
40-
--input example/v1alpha1 \
41-
--input example/v1beta1 \
42-
--input example/v2 \
43-
--input example3/v1 \
44-
--input exampledashed/v1 \
45-
--input secondexample/v1 \
46-
--input existinginterfaces/v1 \
47-
--output-dir ./pkg/generated/clientset \
48-
--output-pkg acme.corp/pkg/generated/clientset
49-
50-
${KUBE_APPLYCONFIGURATION_GEN} \
51-
--go-header-file ./../hack/boilerplate/boilerplate.generatego.txt \
52-
--output-dir ./pkg/generated/applyconfigurations \
53-
--output-pkg acme.corp/pkg/generated/applyconfigurations \
54-
acme.corp/pkg/apis/example/v1 acme.corp/pkg/apis/example/v1alpha1 acme.corp/pkg/apis/example/v1beta1 acme.corp/pkg/apis/example/v2 acme.corp/pkg/apis/example3/v1 acme.corp/pkg/apis/exampledashed/v1 acme.corp/pkg/apis/secondexample/v1 acme.corp/pkg/apis/existinginterfaces/v1
36+
kube::codegen::gen_helpers \
37+
--boilerplate ./../hack/boilerplate/boilerplate.generatego.txt \
38+
./pkg/apis
5539

56-
${KUBE_LISTER_GEN} \
57-
--go-header-file ./../hack/boilerplate/boilerplate.generatego.txt \
58-
--output-dir ./pkg/generated/listers \
59-
--output-pkg acme.corp/pkg/generated/listers \
60-
acme.corp/pkg/apis/example/v1 acme.corp/pkg/apis/example/v1alpha1 acme.corp/pkg/apis/example/v1beta1 acme.corp/pkg/apis/example/v2 acme.corp/pkg/apis/example3/v1 acme.corp/pkg/apis/exampledashed/v1 acme.corp/pkg/apis/secondexample/v1 acme.corp/pkg/apis/existinginterfaces/v1
40+
# Generate standard clientset, listers and informers
41+
rm -rf pkg/generated
42+
mkdir -p pkg/generated/{clientset,applyconfigurations,listers,informers}
6143

62-
${KUBE_INFORMER_GEN} \
63-
--versioned-clientset-package acme.corp/pkg/generated/clientset/versioned \
64-
--listers-package acme.corp/pkg/generated/listers \
65-
--go-header-file ./../hack/boilerplate/boilerplate.generatego.txt \
66-
--output-dir ./pkg/generated/informers \
67-
--output-pkg acme.corp/pkg/generated/informers \
68-
acme.corp/pkg/apis/example/v1 acme.corp/pkg/apis/example/v1alpha1 acme.corp/pkg/apis/example/v1beta1 acme.corp/pkg/apis/example/v2 acme.corp/pkg/apis/example3/v1 acme.corp/pkg/apis/exampledashed/v1 acme.corp/pkg/apis/secondexample/v1 acme.corp/pkg/apis/existinginterfaces/v1
44+
kube::codegen::gen_client \
45+
--boilerplate ./../hack/boilerplate/boilerplate.generatego.txt \
46+
--output-dir pkg/generated \
47+
--output-pkg acme.corp/pkg/generated \
48+
--with-applyconfig \
49+
--applyconfig-name applyconfigurations \
50+
--with-watch \
51+
./pkg/apis
6952

7053
# Generate cluster-aware clients, informers and listers using generated single-cluster code
54+
rm -rf pkg/kcpexisting
55+
mkdir -p pkg/kcpexisting/clients/{clientset/versioned,listers,informers/externalversions}
56+
7157
cluster::codegen::gen_client \
7258
--boilerplate ../hack/boilerplate/boilerplate.generatego.txt \
7359
--output-dir pkg/kcpexisting/clients \
@@ -84,6 +70,9 @@ cluster::codegen::gen_client \
8470
pkg/apis
8571

8672
# Generate cluster-aware clients, informers and listers assuming no single-cluster listers or informers
73+
rm -rf pkg/kcp
74+
mkdir -p pkg/kcp/clients/{clientset/versioned,listers,informers/externalversions}
75+
8776
cluster::codegen::gen_client \
8877
--boilerplate ../hack/boilerplate/boilerplate.generatego.txt \
8978
--output-dir pkg/kcp/clients \

0 commit comments

Comments
 (0)