45
45
46
46
export GOMODCACHE GO111MODULE GOFLAGS GOPATH
47
47
48
- readonly API_VERSION=v1alpha1
48
+ readonly APIS_PKG=sigs.k8s.io/network-policy-api
49
49
readonly OUTPUT_PKG=sigs.k8s.io/network-policy-api/pkg/client
50
- readonly OUTPUT_DIR=${SCRIPT_ROOT} / pkg/client
51
- readonly API_DIR= ${SCRIPT_ROOT} / apis/ ${API_VERSION}
50
+ readonly OUTPUT_DIR=pkg/client
51
+ readonly APIS_PATH= apis
52
52
readonly CLIENTSET_NAME=versioned
53
53
readonly CLIENTSET_PKG_NAME=clientset
54
54
readonly APPLYCONFIG_PKG_NAME=applyconfiguration
@@ -58,45 +58,58 @@ readonly COMMON_FLAGS="${VERIFY_FLAG:-} --go-header-file ${SCRIPT_ROOT}/hack/boi
58
58
echo " Generating CRDs"
59
59
go run ./pkg/generator
60
60
61
- echo " Generating applyconfig at ${OUTPUT_PKG} /${APPLYCONFIG_PKG_NAME} "
61
+ INPUT_DIRS_SPACE=" "
62
+ INPUT_DIRS_CLIENTSET=" "
63
+
64
+ mapfile -t VERSIONS < <( find " ${APIS_PATH} " -maxdepth 1 -type d -name " v*" -printf ' %f\n' | LC_ALL=C sort -u)
65
+ for VERSION in " ${VERSIONS[@]} " ; do
66
+ INPUT_DIRS_SPACE+=" ${APIS_PKG} /${APIS_PATH} /${VERSION} "
67
+ INPUT_DIRS_CLIENTSET+=" ${APIS_PATH} /${VERSION} ,"
68
+ done
69
+
70
+ INPUT_DIRS_SPACE=" ${INPUT_DIRS_SPACE% ,} " # drop trailing space
71
+ INPUT_DIRS_CLIENTSET=" ${INPUT_DIRS_CLIENTSET% ,} " # drop trailing comma
72
+
73
+ echo " Generating applyconfig at ${APIS_PKG} /${APPLYCONFIG_PKG_NAME} "
62
74
go run k8s.io/code-generator/cmd/applyconfiguration-gen \
63
- " ${API_DIR } " \
64
- --output-pkg " ${OUTPUT_PKG } /${APPLYCONFIG_PKG_NAME} " \
65
- --output-dir " ${OUTPUT_DIR} / ${APPLYCONFIG_PKG_NAME} " \
66
- ${COMMON_FLAGS }
75
+ --output-pkg " ${OUTPUT_PKG} / ${APPLYCONFIG_PKG_NAME }" \
76
+ --output-dir " ${OUTPUT_DIR } /${APPLYCONFIG_PKG_NAME} " \
77
+ ${COMMON_FLAGS} \
78
+ ${INPUT_DIRS_SPACE }
67
79
68
80
echo " Generating clientset at ${OUTPUT_PKG} /${CLIENTSET_PKG_NAME} "
69
81
go run k8s.io/code-generator/cmd/client-gen \
70
- --clientset-name " ${CLIENTSET_NAME} " \
71
- --input-base " " \
72
- --input " ${API_DIR } " \
73
- --output-dir " ${OUTPUT_DIR} /${CLIENTSET_PKG_NAME} " \
74
- --output-pkg " ${OUTPUT_PKG} /${CLIENTSET_PKG_NAME} " \
75
- --apply-configuration-package " ${OUTPUT_PKG} /${APPLYCONFIG_PKG_NAME} " \
76
- ${COMMON_FLAGS}
82
+ --clientset-name " ${CLIENTSET_NAME} " \
83
+ --input-base " ${APIS_PKG} " \
84
+ --input " ${INPUT_DIRS_CLIENTSET } " \
85
+ --output-dir " ${OUTPUT_DIR} /${CLIENTSET_PKG_NAME} " \
86
+ --output-pkg " ${OUTPUT_PKG} /${CLIENTSET_PKG_NAME} " \
87
+ --apply-configuration-package " ${OUTPUT_PKG} /${APPLYCONFIG_PKG_NAME} " \
88
+ ${COMMON_FLAGS}
77
89
78
90
echo " Generating listers at ${OUTPUT_PKG} /listers"
79
91
go run k8s.io/code-generator/cmd/lister-gen \
80
- " ${API_DIR} " \
81
- --output-dir " ${OUTPUT_DIR } /listers" \
82
- --output-pkg " ${OUTPUT_PKG} /listers " \
83
- ${COMMON_FLAGS }
92
+ --output-dir " ${OUTPUT_DIR} /listers " \
93
+ --output-pkg " ${OUTPUT_PKG } /listers" \
94
+ ${COMMON_FLAGS} \
95
+ ${INPUT_DIRS_SPACE }
84
96
85
97
echo " Generating informers at ${OUTPUT_PKG} /informers"
86
98
go run k8s.io/code-generator/cmd/informer-gen \
87
- --versioned-clientset-package " ${OUTPUT_PKG} /${CLIENTSET_PKG_NAME} /${CLIENTSET_NAME} " \
88
- --listers-package " ${OUTPUT_DIR} /listers" \
89
- --output-dir " ${OUTPUT_DIR} /informers" \
90
- --output-pkg " ${OUTPUT_PKG} /informers" \
91
- ${COMMON_FLAGS}
92
-
93
- echo " Generating ${API_VERSION} register at ${API_DIR} "
99
+ --versioned-clientset-package " ${OUTPUT_PKG} /${CLIENTSET_PKG_NAME} /${CLIENTSET_NAME} " \
100
+ --listers-package " ${OUTPUT_PKG} /listers" \
101
+ --output-dir " ${OUTPUT_DIR} /informers" \
102
+ --output-pkg " ${OUTPUT_PKG} /informers" \
103
+ ${COMMON_FLAGS} \
104
+ ${INPUT_DIRS_SPACE}
105
+
106
+ echo " Generating register"
94
107
go run k8s.io/code-generator/cmd/register-gen \
95
- " ${API_DIR} " \
96
- --output-file " zz_generated.register.go " \
97
- ${COMMON_FLAGS }
108
+ --output-file " zz_generated.register.go " \
109
+ ${COMMON_FLAGS} \
110
+ ${INPUT_DIRS_SPACE }
98
111
99
- echo " Generating ${API_VERSION} deepcopy at ${API_DIR } "
112
+ echo " Generating deepcopy at ${APIS_PATH } "
100
113
go run sigs.k8s.io/controller-tools/cmd/controller-gen \
101
- object:headerFile=" ${SCRIPT_ROOT} /hack/boilerplate.generatego.txt" \
102
- paths=" ${API_DIR }"
114
+ object:headerFile=" ${SCRIPT_ROOT} /hack/boilerplate.generatego.txt" \
115
+ paths=" ./ ${APIS_PATH }"
0 commit comments