Skip to content

Commit 8773df4

Browse files
committed
Update to code-generator/v3
Signed-off-by: Nelo-T. Wallus <[email protected]>
1 parent 01bb60b commit 8773df4

File tree

5 files changed

+57
-33
lines changed

5 files changed

+57
-33
lines changed

Makefile

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,6 @@ GOBIN_DIR=$(abspath ./bin )
2323
PATH := $(GOBIN_DIR):$(TOOLS_GOBIN_DIR):$(PATH)
2424
TMPDIR := $(shell mktemp -d)
2525

26-
CODE_GENERATOR_VER := 572c29375f0e63c13b31c70931914c420a0a9d59
27-
CODE_GENERATOR_BIN := code-generator
28-
CODE_GENERATOR := $(TOOLS_DIR)/$(CODE_GENERATOR_BIN)-$(CODE_GENERATOR_VER)
29-
export CODE_GENERATOR # so hack scripts can use it
30-
31-
$(CODE_GENERATOR):
32-
GOBIN=$(TOOLS_GOBIN_DIR) $(GO_INSTALL) github.com/kcp-dev/code-generator/v2 $(CODE_GENERATOR_BIN) $(CODE_GENERATOR_VER)
33-
3426
OPENSHIFT_GOIMPORTS_VER := c70783e636f2213cac683f6865d88c5edace3157
3527
OPENSHIFT_GOIMPORTS_BIN := openshift-goimports
3628
OPENSHIFT_GOIMPORTS := $(TOOLS_DIR)/$(OPENSHIFT_GOIMPORTS_BIN)-$(OPENSHIFT_GOIMPORTS_VER)
@@ -56,7 +48,7 @@ lint: $(GOLANGCI_LINT)
5648
tools: $(CODE_GENERATOR) $(OPENSHIFT_GOIMPORTS) $(GOLANGCI_LINT)
5749
.PHONY: tools
5850

59-
codegen: $(CODE_GENERATOR)
51+
codegen:
6052
go mod download
6153
./hack/update-codegen.sh
6254
$(MAKE) imports

go.mod

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,18 @@ module github.com/kcp-dev/client-go
33
go 1.23.0
44

55
require (
6-
github.com/evanphx/json-patch v5.6.0+incompatible
76
github.com/google/gnostic-models v0.6.9
87
github.com/kcp-dev/apimachinery/v2 v2.0.1-0.20250425065633-635c2a0fbaba
8+
github.com/kcp-dev/code-generator/v3 v3.0.0-20250514075336-e635c8b9356e
99
github.com/kcp-dev/logicalcluster/v3 v3.0.5
10+
gopkg.in/evanphx/json-patch.v4 v4.12.0
1011
k8s.io/api v0.32.3
1112
k8s.io/apiextensions-apiserver v0.32.3
1213
k8s.io/apimachinery v0.32.3
1314
k8s.io/client-go v0.32.3
1415
k8s.io/klog/v2 v2.130.1
16+
sigs.k8s.io/structured-merge-diff/v4 v4.4.2
17+
sigs.k8s.io/yaml v1.4.0
1518
)
1619

1720
require (
@@ -69,26 +72,27 @@ require (
6972
go.opentelemetry.io/otel/trace v1.33.0 // indirect
7073
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
7174
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect
75+
golang.org/x/mod v0.24.0 // indirect
7276
golang.org/x/net v0.39.0 // indirect
7377
golang.org/x/oauth2 v0.29.0 // indirect
7478
golang.org/x/sync v0.13.0 // indirect
7579
golang.org/x/sys v0.32.0 // indirect
7680
golang.org/x/term v0.31.0 // indirect
7781
golang.org/x/text v0.24.0 // indirect
7882
golang.org/x/time v0.11.0 // indirect
83+
golang.org/x/tools v0.32.0 // indirect
7984
google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 // indirect
8085
google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 // indirect
8186
google.golang.org/grpc v1.69.2 // indirect
8287
google.golang.org/protobuf v1.35.1 // indirect
83-
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
8488
gopkg.in/inf.v0 v0.9.1 // indirect
8589
gopkg.in/yaml.v3 v3.0.1 // indirect
8690
k8s.io/apiserver v0.32.3 // indirect
91+
k8s.io/code-generator v0.32.3 // indirect
8792
k8s.io/component-base v0.32.3 // indirect
93+
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 // indirect
8894
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
8995
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect
9096
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.1 // indirect
9197
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
92-
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect
93-
sigs.k8s.io/yaml v1.4.0 // indirect
9498
)

go.sum

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1
2323
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
2424
github.com/emicklei/go-restful/v3 v3.12.1 h1:PJMDIM/ak7btuL8Ex0iYET9hxM3CI2sjZtzpL63nKAU=
2525
github.com/emicklei/go-restful/v3 v3.12.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
26-
github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U=
27-
github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
2826
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
2927
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
3028
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
@@ -74,6 +72,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr
7472
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
7573
github.com/kcp-dev/apimachinery/v2 v2.0.1-0.20250425065633-635c2a0fbaba h1:Ar/8wsCQWrZgRiBF2B5xCqCXEA/oiiuDI0yEsUtrxRs=
7674
github.com/kcp-dev/apimachinery/v2 v2.0.1-0.20250425065633-635c2a0fbaba/go.mod h1:pYqnaSG3NlF/pVwfnYCAdGvrA7FpALFmd5S9X4XXf1Q=
75+
github.com/kcp-dev/code-generator/v3 v3.0.0-20250514075336-e635c8b9356e h1:eHeDzqRDTP0i8usxJQ+RrW5DQhhoDjn8/RQRkN6KWzw=
76+
github.com/kcp-dev/code-generator/v3 v3.0.0-20250514075336-e635c8b9356e/go.mod h1:1EZhJqiFvXq1N0xKJnJOf8kQ++wuwLkqFGIRVSoVACk=
7777
github.com/kcp-dev/logicalcluster/v3 v3.0.5 h1:JbYakokb+5Uinz09oTXomSUJVQsqfxEvU4RyHUYxHOU=
7878
github.com/kcp-dev/logicalcluster/v3 v3.0.5/go.mod h1:EWBUBxdr49fUB1cLMO4nOdBWmYifLbP1LfoL20KkXYY=
7979
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
@@ -175,6 +175,8 @@ golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0
175175
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
176176
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
177177
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
178+
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
179+
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
178180
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
179181
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
180182
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -205,8 +207,8 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm
205207
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
206208
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
207209
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
208-
golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE=
209-
golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588=
210+
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
211+
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
210212
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
211213
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
212214
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -239,8 +241,12 @@ k8s.io/apiserver v0.32.3 h1:kOw2KBuHOA+wetX1MkmrxgBr648ksz653j26ESuWNY8=
239241
k8s.io/apiserver v0.32.3/go.mod h1:q1x9B8E/WzShF49wh3ADOh6muSfpmFL0I2t+TG0Zdgc=
240242
k8s.io/client-go v0.32.3 h1:RKPVltzopkSgHS7aS98QdscAgtgah/+zmpAogooIqVU=
241243
k8s.io/client-go v0.32.3/go.mod h1:3v0+3k4IcT9bXTc4V2rt+d2ZPPG700Xy6Oi0Gdl2PaY=
244+
k8s.io/code-generator v0.32.3 h1:31p2TVzC9+hVdSkAFruAk3JY+iSfzrJ83Qij1yZutyw=
245+
k8s.io/code-generator v0.32.3/go.mod h1:+mbiYID5NLsBuqxjQTygKM/DAdKpAjvBzrJd64NU1G8=
242246
k8s.io/component-base v0.32.3 h1:98WJvvMs3QZ2LYHBzvltFSeJjEx7t5+8s71P7M74u8k=
243247
k8s.io/component-base v0.32.3/go.mod h1:LWi9cR+yPAv7cu2X9rZanTiFKB2kHA+JjmhkKjCZRpI=
248+
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 h1:si3PfKm8dDYxgfbeA6orqrtLkvvIeH8UqffFJDl0bz4=
249+
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU=
244250
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
245251
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
246252
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f h1:GA7//TjRY9yWGy1poLzYYJJ4JRdzg3+O6e8I+e+8T5Y=

hack/tools.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package hack
2+
3+
import (
4+
_ "github.com/kcp-dev/code-generator/v3/cmd/cluster-client-gen"
5+
)

hack/update-codegen.sh

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,38 @@ set -o nounset
1919
set -o pipefail
2020
set -o xtrace
2121

22-
if [[ -z "${MAKELEVEL:-}" ]]; then
23-
echo 'You must invoke this script via make'
24-
exit 1
25-
fi
22+
CODEGEN_PKG="$(go list -f '{{.Dir}}' -m k8s.io/code-generator)"
23+
source "$CODEGEN_PKG/kube_codegen.sh"
2624

27-
${CODE_GENERATOR} \
28-
"client:externalOnly=true,standalone=true,outputPackagePath=github.com/kcp-dev/client-go,name=kubernetes,apiPackagePath=k8s.io/api,singleClusterClientPackagePath=k8s.io/client-go/kubernetes,singleClusterApplyConfigurationsPackagePath=k8s.io/client-go/applyconfigurations,headerFile=./hack/boilerplate/boilerplate.go.txt" \
29-
"lister:apiPackagePath=k8s.io/api,singleClusterListerPackagePath=k8s.io/client-go/listers,headerFile=./hack/boilerplate/boilerplate.go.txt" \
30-
"informer:clientsetName=kubernetes,externalOnly=true,standalone=true,outputPackagePath=github.com/kcp-dev/client-go,apiPackagePath=k8s.io/api,singleClusterClientPackagePath=k8s.io/client-go/kubernetes, singleClusterListerPackagePath=k8s.io/client-go/listers,singleClusterInformerPackagePath=k8s.io/client-go/informers,headerFile=./hack/boilerplate/boilerplate.go.txt" \
31-
"paths=$( go list -m -json k8s.io/api | jq --raw-output .Dir )/..." \
32-
"output:dir=./"
25+
CLUSTER_CODEGEN_PKG="$(go list -f '{{.Dir}}' -m github.com/kcp-dev/code-generator/v3)"
26+
source "$CLUSTER_CODEGEN_PKG/cluster_codegen.sh"
3327

34-
${CODE_GENERATOR} \
35-
"client:externalOnly=true,standalone=true,outputPackagePath=github.com/kcp-dev/client-go/apiextensions,name=client,apiPackagePath=k8s.io/apiextensions-apiserver/pkg/apis,singleClusterClientPackagePath=k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset,singleClusterApplyConfigurationsPackagePath=k8s.io/apiextensions-apiserver/pkg/client/applyconfiguration,headerFile=./hack/boilerplate/boilerplate.go.txt" \
36-
"lister:apiPackagePath=k8s.io/apiextensions-apiserver/pkg/apis,singleClusterListerPackagePath=k8s.io/apiextensions-apiserver/pkg/client/listers,headerFile=./hack/boilerplate/boilerplate.go.txt" \
37-
"informer:clientsetName=client,externalOnly=true,standalone=true,outputPackagePath=github.com/kcp-dev/client-go/apiextensions,apiPackagePath=k8s.io/apiextensions-apiserver/pkg/apis,singleClusterClientPackagePath=k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset, singleClusterListerPackagePath=k8s.io/apiextensions-apiserver/pkg/client/listers,singleClusterInformerPackagePath=k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions,headerFile=./hack/boilerplate/boilerplate.go.txt" \
38-
"paths=$( go list -m -json k8s.io/apiextensions-apiserver | jq --raw-output .Dir )/pkg/apis/..." \
39-
"output:dir=./apiextensions"
28+
make clean-generated
29+
30+
cluster::codegen::gen_client \
31+
--boilerplate ./hack/boilerplate/boilerplate.go.txt \
32+
--with-watch \
33+
--output-dir . \
34+
--output-pkg github.com/kcp-dev/client-go \
35+
--versioned-clientset-dir kubernetes \
36+
--versioned-clientset-pkg github.com/kcp-dev/client-go/kubernetes \
37+
--single-cluster-versioned-clientset-pkg k8s.io/client-go/kubernetes \
38+
--single-cluster-applyconfigurations-pkg k8s.io/client-go/applyconfigurations \
39+
--single-cluster-informers-pkg k8s.io/client-go/informers \
40+
--single-cluster-listers-pkg k8s.io/client-go/listers \
41+
--exclude-packages "imagepolicy/v1alpha1" \
42+
--plural-exceptions "Endpoints:Endpoints" \
43+
"$(go list -m -json k8s.io/api | jq --raw-output .Dir)"
44+
45+
cluster::codegen::gen_client \
46+
--boilerplate ./hack/boilerplate/boilerplate.go.txt \
47+
--output-dir apiextensions \
48+
--output-pkg github.com/kcp-dev/client-go/apiextensions \
49+
--with-watch \
50+
--versioned-clientset-pkg github.com/kcp-dev/client-go/apiextensions/client \
51+
--versioned-clientset-dir apiextensions/client \
52+
--single-cluster-versioned-clientset-pkg k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset \
53+
--single-cluster-applyconfigurations-pkg k8s.io/apiextensions-apiserver/pkg/client/applyconfiguration \
54+
--single-cluster-informers-pkg k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions \
55+
--single-cluster-listers-pkg k8s.io/apiextensions-apiserver/pkg/client/listers \
56+
"$(go list -m -json k8s.io/apiextensions-apiserver | jq --raw-output .Dir)/pkg/apis"

0 commit comments

Comments
 (0)