Skip to content

Commit d1c2858

Browse files
authored
Merge pull request #352 from jpeach/codgen-go-modules
Fix codegen script to work with Go modules.
2 parents 35cc7d5 + 9b04697 commit d1c2858

File tree

13 files changed

+92
-27
lines changed

13 files changed

+92
-27
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ uninstall:
6666
# Run static analysis.
6767
.PHONY: verify
6868
verify:
69-
hack/verify-all.sh
69+
hack/verify-all.sh -v
7070

7171
# Build the documentation.
7272
.PHONY: docs

go.mod

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ require (
88
github.com/onsi/ginkgo v1.13.0 // indirect
99
golang.org/x/net v0.0.0-20200904194848-62affa334b73 // indirect
1010
golang.org/x/tools v0.0.0-20200904185747-39188db58858 // indirect
11-
k8s.io/apimachinery v0.19.0
12-
k8s.io/client-go v0.19.0
11+
k8s.io/apimachinery v0.19.2
12+
k8s.io/client-go v0.19.2
13+
k8s.io/code-generator v0.19.2
1314
k8s.io/gengo v0.0.0-20200728071708-7794989d0000 // indirect
1415
k8s.io/klog/v2 v2.3.0 // indirect
1516
k8s.io/kube-openapi v0.0.0-20200831175022-64514a1d5d59 // indirect

go.sum

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -585,6 +585,7 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn
585585
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
586586
golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
587587
golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
588+
golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
588589
golang.org/x/tools v0.0.0-20200616195046-dc31b401abb5/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
589590
golang.org/x/tools v0.0.0-20200904185747-39188db58858 h1:xLt+iB5ksWcZVxqc+g9K41ZHy+6MKWfXCDsjSThnsPA=
590591
golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
@@ -674,31 +675,34 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
674675
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
675676
k8s.io/api v0.18.2/go.mod h1:SJCWI7OLzhZSvbY7U8zwNl9UA4o1fizoug34OV/2r78=
676677
k8s.io/api v0.18.6/go.mod h1:eeyxr+cwCjMdLAmr2W3RyDI0VvTawSg/3RFFBEnmZGI=
677-
k8s.io/api v0.19.0 h1:XyrFIJqTYZJ2DU7FBE/bSPz7b1HvbVBuBf07oeo6eTc=
678-
k8s.io/api v0.19.0/go.mod h1:I1K45XlvTrDjmj5LoM5LuP/KYrhWbjUKT/SoPG0qTjw=
678+
k8s.io/api v0.19.2 h1:q+/krnHWKsL7OBZg/rxnycsl9569Pud76UJ77MvKXms=
679+
k8s.io/api v0.19.2/go.mod h1:IQpK0zFQ1xc5iNIQPqzgoOwuFugaYHK4iCknlAQP9nI=
679680
k8s.io/apiextensions-apiserver v0.18.2/go.mod h1:q3faSnRGmYimiocj6cHQ1I3WpLqmDgJFlKL37fC4ZvY=
680681
k8s.io/apiextensions-apiserver v0.18.6 h1:vDlk7cyFsDyfwn2rNAO2DbmUbvXy5yT5GE3rrqOzaMo=
681682
k8s.io/apiextensions-apiserver v0.18.6/go.mod h1:lv89S7fUysXjLZO7ke783xOwVTm6lKizADfvUM/SS/M=
682683
k8s.io/apimachinery v0.18.2/go.mod h1:9SnR/e11v5IbyPCGbvJViimtJ0SwHG4nfZFjU77ftcA=
683684
k8s.io/apimachinery v0.18.6/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko=
684-
k8s.io/apimachinery v0.19.0 h1:gjKnAda/HZp5k4xQYjL0K/Yb66IvNqjthCb03QlKpaQ=
685-
k8s.io/apimachinery v0.19.0/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA=
685+
k8s.io/apimachinery v0.19.2 h1:5Gy9vQpAGTKHPVOh5c4plE274X8D/6cuEiTO2zve7tc=
686+
k8s.io/apimachinery v0.19.2/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA=
686687
k8s.io/apiserver v0.18.2/go.mod h1:Xbh066NqrZO8cbsoenCwyDJ1OSi8Ag8I2lezeHxzwzw=
687688
k8s.io/apiserver v0.18.6/go.mod h1:Zt2XvTHuaZjBz6EFYzpp+X4hTmgWGy8AthNVnTdm3Wg=
688689
k8s.io/client-go v0.18.2/go.mod h1:Xcm5wVGXX9HAA2JJ2sSBUn3tCJ+4SVlCbl2MNNv+CIU=
689690
k8s.io/client-go v0.18.6/go.mod h1:/fwtGLjYMS1MaM5oi+eXhKwG+1UHidUEXRh6cNsdO0Q=
690-
k8s.io/client-go v0.19.0 h1:1+0E0zfWFIWeyRhQYWzimJOyAk2UT7TiARaLNwJCf7k=
691-
k8s.io/client-go v0.19.0/go.mod h1:H9E/VT95blcFQnlyShFgnFT9ZnJOAceiUHM3MlRC+mU=
691+
k8s.io/client-go v0.19.2 h1:gMJuU3xJZs86L1oQ99R4EViAADUPMHHtS9jFshasHSc=
692+
k8s.io/client-go v0.19.2/go.mod h1:S5wPhCqyDNAlzM9CnEdgTGV4OqhsW3jGO1UM1epwfJA=
692693
k8s.io/code-generator v0.18.2/go.mod h1:+UHX5rSbxmR8kzS+FAv7um6dtYrZokQvjHpDSYRVkTc=
693694
k8s.io/code-generator v0.18.6 h1:QdfvGfs4gUCS1dru+rLbCKIFxYEV0IRfF8MXwY/ozLk=
694695
k8s.io/code-generator v0.18.6/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c=
696+
k8s.io/code-generator v0.19.2 h1:7uaWJll6fyCPj2j3sfNN1AiY2gZU1VFN2dFR2uoxGWI=
697+
k8s.io/code-generator v0.19.2/go.mod h1:moqLn7w0t9cMs4+5CQyxnfA/HV8MF6aAVENF+WZZhgk=
695698
k8s.io/component-base v0.18.2/go.mod h1:kqLlMuhJNHQ9lz8Z7V5bxUUtjFZnrypArGl58gmDfUM=
696699
k8s.io/component-base v0.18.6/go.mod h1:knSVsibPR5K6EW2XOjEHik6sdU5nCvKMrzMt2D4In14=
697700
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
698701
k8s.io/gengo v0.0.0-20200114144118-36b2048a9120 h1:RPscN6KhmG54S33L+lr3GS+oD1jmchIU0ll519K6FA4=
699702
k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
700703
k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac h1:sAvhNk5RRuc6FNYGqe7Ygz3PSo/2wGWbulskmzRX8Vs=
701704
k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
705+
k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
702706
k8s.io/gengo v0.0.0-20200728071708-7794989d0000 h1:XgICMZutMLbopSVIJJrhUun6Hbuh1NTZBv2sd0lvypU=
703707
k8s.io/gengo v0.0.0-20200728071708-7794989d0000/go.mod h1:aG2eeomYfcUw8sE3fa7YdkjgnGtyY56TjZlaJJ0ZoWo=
704708
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=

hack/update-codegen.sh

Lines changed: 39 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,42 +18,64 @@ set -o errexit
1818
set -o nounset
1919
set -o pipefail
2020

21-
SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")/..
21+
readonly SCRIPT_ROOT="$(cd "$(dirname "${BASH_SOURCE}")"/.. && pwd)"
2222

23-
go install k8s.io/code-generator/cmd/{client-gen,lister-gen,informer-gen,deepcopy-gen,register-gen}
23+
readonly GO111MODULE="on"
24+
readonly GOFLAGS="-mod=readonly"
25+
readonly GOPATH="$(mktemp -d)"
2426

25-
# Go installs the above commands to get installed in $GOBIN if defined, and $GOPATH/bin otherwise:
26-
GOBIN="$(go env GOBIN)"
27-
gobin="${GOBIN:-$(go env GOPATH)/bin}"
27+
export GO111MODULE GOFLAGS GOPATH
2828

29-
OUTPUT_PKG=sigs.k8s.io/service-apis/pkg/client
30-
FQ_APIS=sigs.k8s.io/service-apis/apis/v1alpha1
31-
APIS_PKG=sigs.k8s.io/service-apis
32-
CLIENTSET_NAME=versioned
33-
CLIENTSET_PKG_NAME=clientset
29+
# Even when modules are enabled, the code-generator tools always write to
30+
# a traditional GOPATH directory, so fake on up to point to the current
31+
# workspace.
32+
mkdir -p "$GOPATH/src/sigs.k8s.io"
33+
ln -s "${SCRIPT_ROOT}" "$GOPATH/src/sigs.k8s.io/service-apis"
34+
35+
readonly OUTPUT_PKG=sigs.k8s.io/service-apis/pkg/client
36+
readonly FQ_APIS=sigs.k8s.io/service-apis/apis/v1alpha1
37+
readonly APIS_PKG=sigs.k8s.io/service-apis
38+
readonly CLIENTSET_NAME=versioned
39+
readonly CLIENTSET_PKG_NAME=clientset
3440

3541
if [[ "${VERIFY_CODEGEN:-}" == "true" ]]; then
3642
echo "Running in verification mode"
37-
VERIFY_FLAG="--verify-only"
43+
readonly VERIFY_FLAG="--verify-only"
3844
fi
39-
COMMON_FLAGS="${VERIFY_FLAG:-} --go-header-file ${SCRIPT_ROOT}/hack/boilerplate/boilerplate.go.txt"
45+
46+
readonly COMMON_FLAGS="${VERIFY_FLAG:-} --go-header-file ${SCRIPT_ROOT}/hack/boilerplate/boilerplate.go.txt"
4047

4148
echo "Generating deepcopy funcs"
42-
"${gobin}/deepcopy-gen" --input-dirs "${FQ_APIS}" -O zz_generated.deepcopy --bounding-dirs "${APIS_PKG}" ${COMMON_FLAGS}
49+
go run k8s.io/code-generator/cmd/deepcopy-gen \
50+
--input-dirs "${FQ_APIS}" \
51+
-O zz_generated.deepcopy \
52+
--bounding-dirs "${APIS_PKG}" \
53+
${COMMON_FLAGS}
4354

4455
echo "Generating clientset at ${OUTPUT_PKG}/${CLIENTSET_PKG_NAME}"
45-
"${gobin}/client-gen" --clientset-name "${CLIENTSET_NAME}" --input-base "" --input "${FQ_APIS}" --output-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME}" ${COMMON_FLAGS}
56+
go run k8s.io/code-generator/cmd/client-gen \
57+
--clientset-name "${CLIENTSET_NAME}" \
58+
--input-base "" \
59+
--input "${FQ_APIS}" \
60+
--output-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME}" \
61+
${COMMON_FLAGS}
4662

4763
echo "Generating listers at ${OUTPUT_PKG}/listers"
48-
"${gobin}/lister-gen" --input-dirs "${FQ_APIS}" --output-package "${OUTPUT_PKG}/listers" ${COMMON_FLAGS}
64+
go run k8s.io/code-generator/cmd/lister-gen \
65+
--input-dirs "${FQ_APIS}" \
66+
--output-package "${OUTPUT_PKG}/listers" \
67+
${COMMON_FLAGS}
4968

5069
echo "Generating informers at ${OUTPUT_PKG}/informers"
51-
"${gobin}/informer-gen" \
70+
go run k8s.io/code-generator/cmd/informer-gen \
5271
--input-dirs "${FQ_APIS}" \
5372
--versioned-clientset-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME}/${CLIENTSET_NAME}" \
5473
--listers-package "${OUTPUT_PKG}/listers" \
5574
--output-package "${OUTPUT_PKG}/informers" \
5675
${COMMON_FLAGS}
5776

5877
echo "Generating register at ${FQ_APIS}"
59-
"${gobin}/register-gen" --output-package "${FQ_APIS}" --input-dirs ${FQ_APIS} ${COMMON_FLAGS}
78+
go run k8s.io/code-generator/cmd/register-gen \
79+
--input-dirs "${FQ_APIS}" \
80+
--output-package "${FQ_APIS}" \
81+
${COMMON_FLAGS}

pkg/client/clientset/versioned/fake/register.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/client/listers/apis/v1alpha1/backendpolicy.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/client/listers/apis/v1alpha1/gateway.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/client/listers/apis/v1alpha1/gatewayclass.go

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/client/listers/apis/v1alpha1/httproute.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/client/listers/apis/v1alpha1/tcproute.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)