Skip to content

Commit 96f03ac

Browse files
authored
Drop vgopath from API code generation (#1479)
Use upstream `k8s.io/code-generator` (kube_codegen.sh) directly instead of synthesizing a virtual GOPATH via vgopath. The codegen tools have been module-aware for a while, so the GOPATH-style layout is no longer needed. - Remove the VGOPATH variable, install target, and version pin from the Makefile, and drop vgopath as a prerequisite of `generate` and `proto`. - Drop the mktemp + vgopath -o materialization and GOROOT/GOPATH exports from hack/update-codegen.sh; only `go mod download` remains so `go list -m` can resolve k8s.io/code-generator. Generated output (`api/`, `client-go/`, `internal/apis/`, `iri/`) is byte-identical to before. Signed-off-by: Andreas Fritzler <andreas.fritzler@sap.com>
1 parent ddfd5b3 commit 96f03ac

2 files changed

Lines changed: 3 additions & 20 deletions

File tree

Makefile

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,13 @@ manifests: controller-gen ## Generate ClusterRole and CustomResourceDefinition o
9090
./hack/replace.sh config/apiserver/rbac/bucketpool_role.yaml 's/manager-role/storage.ironcore.dev:system:bucketpools/g'
9191

9292
.PHONY: generate
93-
generate: vgopath models-schema openapi-gen proto
94-
VGOPATH=$(VGOPATH) \
93+
generate: models-schema openapi-gen proto
9594
MODELS_SCHEMA=$(MODELS_SCHEMA) \
9695
OPENAPI_GEN=$(OPENAPI_GEN) \
9796
./hack/update-codegen.sh
9897

9998
.PHONY: proto
100-
proto: goimports vgopath buf protoc-gen-go protoc-gen-go-grpc
99+
proto: goimports buf protoc-gen-go protoc-gen-go-grpc
101100
$(BUF) generate --template buf.gen.yaml
102101
$(GOIMPORTS) -w ./iri
103102

@@ -346,7 +345,6 @@ CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen
346345
ENVTEST ?= $(LOCALBIN)/setup-envtest
347346
OPENAPI_EXTRACTOR ?= $(LOCALBIN)/openapi-extractor
348347
OPENAPI_GEN ?= $(LOCALBIN)/openapi-gen
349-
VGOPATH ?= $(LOCALBIN)/vgopath
350348
GEN_CRD_API_REFERENCE_DOCS ?= $(LOCALBIN)/gen-crd-api-reference-docs
351349
ADDLICENSE ?= $(LOCALBIN)/addlicense
352350
BUF ?= $(LOCALBIN)/buf
@@ -358,7 +356,6 @@ PROTOC_GEN_GO_GRPC ?= $(LOCALBIN)/protoc-gen-go-grpc
358356

359357
## Tool Versions
360358
KUSTOMIZE_VERSION ?= v5.1.1
361-
VGOPATH_VERSION ?= v0.1.3
362359
CONTROLLER_TOOLS_VERSION ?= v0.20.0
363360
GEN_CRD_API_REFERENCE_DOCS_VERSION ?= v0.3.0
364361
ADDLICENSE_VERSION ?= v1.1.1
@@ -387,12 +384,6 @@ openapi-gen: $(OPENAPI_GEN) ## Download openapi-gen locally if necessary.
387384
$(OPENAPI_GEN): $(LOCALBIN)
388385
$(call go-install-tool,$(OPENAPI_GEN),k8s.io/kube-openapi/cmd/openapi-gen,$(OPENAPI_GEN_VERSION))
389386

390-
.PHONY: vgopath
391-
vgopath: $(VGOPATH) ## Download vgopath locally if necessary.
392-
.PHONY: $(VGOPATH)
393-
$(VGOPATH): $(LOCALBIN)
394-
$(call go-install-tool,$(VGOPATH),github.com/ironcore-dev/vgopath,$(VGOPATH_VERSION))
395-
396387
.PHONY: envtest
397388
envtest: $(ENVTEST) ## Download envtest-setup locally if necessary.
398389
$(ENVTEST): $(LOCALBIN)

hack/update-codegen.sh

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,10 @@ THIS_PKG="github.com/ironcore-dev/ironcore"
1111
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
1212
PROJECT_ROOT="$SCRIPT_DIR/.."
1313

14-
VGOPATH="$VGOPATH"
1514
MODELS_SCHEMA="$MODELS_SCHEMA"
1615
OPENAPI_GEN="$OPENAPI_GEN"
1716

18-
VIRTUAL_GOPATH="$(mktemp -d)"
19-
trap 'rm -rf "$VIRTUAL_GOPATH"' EXIT
20-
21-
# Setup virtual GOPATH so the codegen tools work as expected.
22-
(cd "$PROJECT_ROOT"; go mod download && "$VGOPATH" -o "$VIRTUAL_GOPATH")
23-
24-
export GOROOT="${GOROOT:-"$(go env GOROOT)"}"
25-
export GOPATH="$VIRTUAL_GOPATH"
17+
(cd "$PROJECT_ROOT"; go mod download)
2618

2719
CODE_GEN_DIR=$(go list -m -f '{{.Dir}}' k8s.io/code-generator)
2820
source "${CODE_GEN_DIR}/kube_codegen.sh"

0 commit comments

Comments
 (0)