@@ -19,43 +19,55 @@ set -euo pipefail
1919cd $( dirname $0 ) /..
2020source hack/lib.sh
2121
22- BOILERPLATE_HEADER=" $( realpath hack/boilerplate/boilerplate.go.txt) "
22+ BOILERPLATE_HEADER=" $( realpath hack/boilerplate/generated/boilerplate.go.txt) "
23+ SDK_MODULE=" github.com/kcp-dev/api-syncagent/sdk"
24+ APIS_PKG=" $SDK_MODULE /apis"
2325
24- BASE=github.com/kcp-dev/api-syncagent
25- MODULE=" $BASE /sdk"
26- SDK_DIR=sdk
27- SDK_PKG=" $MODULE "
28- APIS_PKG=" $MODULE /apis"
26+ mkdir -p _tools
27+ export GOBIN=$( realpath _tools)
2928
3029set -x
31- rm -rf -- $SDK_DIR /{applyconfiguration,clientset,informers,listers}
3230
33- go run k8s.io/code-generator/cmd/applyconfiguration-gen \
31+ go install k8s.io/code-generator/cmd/applyconfiguration-gen
32+ go install k8s.io/code-generator/cmd/client-gen
33+ go install github.com/kcp-dev/code-generator/v2
34+ go install github.com/openshift-eng/openshift-goimports
35+ go install sigs.k8s.io/controller-tools/cmd/controller-gen
36+
37+ # these are types only used for testing the syncer
38+ $GOBIN /controller-gen \
39+ " object:headerFile=$BOILERPLATE_HEADER " \
40+ paths=./internal/sync/apis/...
41+
42+ cd sdk
43+ rm -rf -- applyconfiguration clientset informers listers
44+
45+ $GOBIN /controller-gen \
46+ " object:headerFile=$BOILERPLATE_HEADER " \
47+ paths=./apis/...
48+
49+ $GOBIN /applyconfiguration-gen \
3450 --go-header-file " $BOILERPLATE_HEADER " \
35- --output-dir $SDK_DIR / applyconfiguration \
36- --output-pkg $SDK_PKG /applyconfiguration \
37- $APIS_PKG /syncagent/v1alpha1
51+ --output-dir applyconfiguration \
52+ --output-pkg $SDK_MODULE /applyconfiguration \
53+ ./apis/...
3854
39- go run k8s.io/code-generator/cmd/client-gen \
40- --input-base " " \
41- --input $APIS_PKG /syncagent/v1alpha1 \
42- --clientset-name versioned \
55+ $GOBIN /client-gen \
4356 --go-header-file " $BOILERPLATE_HEADER " \
44- --output-dir $SDK_DIR /clientset \
45- --output-pkg $SDK_PKG /clientset
57+ --output-dir clientset \
58+ --output-pkg $SDK_MODULE /clientset \
59+ --clientset-name versioned \
60+ --input-base $APIS_PKG \
61+ --input syncagent/v1alpha1
4662
47- go run github.com/kcp-dev/ code-generator/v2 \
48- " client:headerFile=$BOILERPLATE_HEADER ,apiPackagePath=$APIS_PKG ,outputPackagePath=$SDK_PKG ,singleClusterClientPackagePath=$SDK_PKG /clientset/versioned,singleClusterApplyConfigurationsPackagePath=$SDK_PKG / applyconfiguration" \
49- " informer:headerFile=$BOILERPLATE_HEADER ,apiPackagePath=$APIS_PKG ,outputPackagePath=$SDK_PKG ,singleClusterClientPackagePath=$SDK_PKG /clientset/versioned" \
63+ $GOBIN / code-generator \
64+ " client:headerFile=$BOILERPLATE_HEADER ,apiPackagePath=$APIS_PKG ,outputPackagePath=$SDK_MODULE ,singleClusterClientPackagePath=$SDK_MODULE /clientset/versioned,singleClusterApplyConfigurationsPackagePath=applyconfiguration" \
65+ " informer:headerFile=$BOILERPLATE_HEADER ,apiPackagePath=$APIS_PKG ,outputPackagePath=$SDK_MODULE ,singleClusterClientPackagePath=$SDK_MODULE /clientset/versioned" \
5066 " lister:headerFile=$BOILERPLATE_HEADER ,apiPackagePath=$APIS_PKG " \
51- " paths=./sdk/ apis/..." \
52- " output:dir=$SDK_DIR "
67+ " paths=./apis/..." \
68+ " output:dir=. "
5369
5470# Use openshift's import fixer because gimps fails to parse some of the files;
5571# its output is identical to how gimps would sort the imports, but it also fixes
5672# the misplaced go:build directives.
57- for submodule in " applyconfiguration" " clientset" " informers" " listers" ; do
58- go run github.com/openshift-eng/openshift-goimports \
59- --module " $MODULE /$submodule " \
60- --path " $SDK_DIR /$submodule "
61- done
73+ $GOBIN /openshift-goimports .
0 commit comments