5555
5656export GOMODCACHE GO111MODULE GOFLAGS GOPATH
5757
58+ run_crd=false
59+ run_applyconfig=false
60+ run_clientset=false
61+ run_listers=false
62+ run_informers=false
63+ run_register=false
64+ run_deepcopy=false
65+
66+ usage () {
67+ echo " Usage: $0 [ --crd | --applyconfig | --clientset | --listers | --informers | --register | --deepcopy ]"
68+ echo " If no flags are specified, all generators will be run."
69+ }
70+
71+ # If no flags are specified, run all generators
72+ if [ " $# " -eq 0 ]; then
73+ run_crd=true
74+ run_applyconfig=true
75+ run_clientset=true
76+ run_listers=true
77+ run_informers=true
78+ run_register=true
79+ run_deepcopy=true
80+ else
81+ while [[ " $# " -gt 0 ]]; do
82+ case $1 in
83+ --crd)
84+ run_crd=true
85+ ;;
86+ --applyconfig)
87+ run_applyconfig=true
88+ ;;
89+ --clientset)
90+ run_clientset=true
91+ ;;
92+ --listers)
93+ run_listers=true
94+ ;;
95+ --informers)
96+ run_informers=true
97+ ;;
98+ --register)
99+ run_register=true
100+ ;;
101+ --deepcopy)
102+ run_deepcopy=true
103+ ;;
104+ --help|-h)
105+ usage
106+ exit 0
107+ ;;
108+ * )
109+ echo " Unknown flag: $1 "
110+ usage
111+ exit 1
112+ ;;
113+ esac
114+ shift
115+ done
116+ fi
117+
58118readonly APIS_PKG=sigs.k8s.io/network-policy-api
59119readonly OUTPUT_PKG=sigs.k8s.io/network-policy-api/pkg/client
60120readonly OUTPUT_DIR=pkg/client
@@ -65,8 +125,10 @@ readonly APPLYCONFIG_PKG_NAME=applyconfiguration
65125
66126readonly COMMON_FLAGS=" ${VERIFY_FLAG:- } --go-header-file ${SCRIPT_ROOT} /hack/boilerplate.generatego.txt"
67127
68- echo " Generating CRDs"
69- go run ./pkg/generator
128+ if [ " $run_crd " = true ]; then
129+ echo " Generating CRDs"
130+ go run ./pkg/generator
131+ fi
70132
71133INPUT_DIRS_SPACE=" "
72134INPUT_DIRS_CLIENTSET=" "
@@ -80,46 +142,58 @@ done
80142INPUT_DIRS_SPACE=" ${INPUT_DIRS_SPACE% ,} " # drop trailing space
81143INPUT_DIRS_CLIENTSET=" ${INPUT_DIRS_CLIENTSET% ,} " # drop trailing comma
82144
83- echo " Generating applyconfig at ${APIS_PKG} /${APPLYCONFIG_PKG_NAME} "
84- go run k8s.io/code-generator/cmd/applyconfiguration-gen \
85- --output-pkg " ${OUTPUT_PKG} /${APPLYCONFIG_PKG_NAME} " \
86- --output-dir " ${OUTPUT_DIR} /${APPLYCONFIG_PKG_NAME} " \
87- ${COMMON_FLAGS} \
88- ${INPUT_DIRS_SPACE}
89-
90- echo " Generating clientset at ${OUTPUT_PKG} /${CLIENTSET_PKG_NAME} "
91- go run k8s.io/code-generator/cmd/client-gen \
92- --clientset-name " ${CLIENTSET_NAME} " \
93- --input-base " ${APIS_PKG} " \
94- --input " ${INPUT_DIRS_CLIENTSET} " \
95- --output-dir " ${OUTPUT_DIR} /${CLIENTSET_PKG_NAME} " \
96- --output-pkg " ${OUTPUT_PKG} /${CLIENTSET_PKG_NAME} " \
97- --apply-configuration-package " ${OUTPUT_PKG} /${APPLYCONFIG_PKG_NAME} " \
98- ${COMMON_FLAGS}
99-
100- echo " Generating listers at ${OUTPUT_PKG} /listers"
101- go run k8s.io/code-generator/cmd/lister-gen \
102- --output-dir " ${OUTPUT_DIR} /listers" \
103- --output-pkg " ${OUTPUT_PKG} /listers" \
104- ${COMMON_FLAGS} \
105- ${INPUT_DIRS_SPACE}
106-
107- echo " Generating informers at ${OUTPUT_PKG} /informers"
108- go run k8s.io/code-generator/cmd/informer-gen \
109- --versioned-clientset-package " ${OUTPUT_PKG} /${CLIENTSET_PKG_NAME} /${CLIENTSET_NAME} " \
110- --listers-package " ${OUTPUT_PKG} /listers" \
111- --output-dir " ${OUTPUT_DIR} /informers" \
112- --output-pkg " ${OUTPUT_PKG} /informers" \
113- ${COMMON_FLAGS} \
114- ${INPUT_DIRS_SPACE}
115-
116- echo " Generating register"
117- go run k8s.io/code-generator/cmd/register-gen \
118- --output-file " zz_generated.register.go" \
119- ${COMMON_FLAGS} \
120- ${INPUT_DIRS_SPACE}
121-
122- echo " Generating deepcopy at ${APIS_PATH} "
123- go run sigs.k8s.io/controller-tools/cmd/controller-gen \
124- object:headerFile=" ${SCRIPT_ROOT} /hack/boilerplate.generatego.txt" \
125- paths=" ./${APIS_PATH} "
145+ if [ " $run_applyconfig " = true ]; then
146+ echo " Generating applyconfig at ${APIS_PKG} /${APPLYCONFIG_PKG_NAME} "
147+ go run k8s.io/code-generator/cmd/applyconfiguration-gen \
148+ --output-pkg " ${OUTPUT_PKG} /${APPLYCONFIG_PKG_NAME} " \
149+ --output-dir " ${OUTPUT_DIR} /${APPLYCONFIG_PKG_NAME} " \
150+ ${COMMON_FLAGS} \
151+ ${INPUT_DIRS_SPACE}
152+ fi
153+
154+ if [ " $run_clientset " = true ]; then
155+ echo " Generating clientset at ${OUTPUT_PKG} /${CLIENTSET_PKG_NAME} "
156+ go run k8s.io/code-generator/cmd/client-gen \
157+ --clientset-name " ${CLIENTSET_NAME} " \
158+ --input-base " ${APIS_PKG} " \
159+ --input " ${INPUT_DIRS_CLIENTSET} " \
160+ --output-dir " ${OUTPUT_DIR} /${CLIENTSET_PKG_NAME} " \
161+ --output-pkg " ${OUTPUT_PKG} /${CLIENTSET_PKG_NAME} " \
162+ --apply-configuration-package " ${OUTPUT_PKG} /${APPLYCONFIG_PKG_NAME} " \
163+ ${COMMON_FLAGS}
164+ fi
165+
166+ if [ " $run_listers " = true ]; then
167+ echo " Generating listers at ${OUTPUT_PKG} /listers"
168+ go run k8s.io/code-generator/cmd/lister-gen \
169+ --output-dir " ${OUTPUT_DIR} /listers" \
170+ --output-pkg " ${OUTPUT_PKG} /listers" \
171+ ${COMMON_FLAGS} \
172+ ${INPUT_DIRS_SPACE}
173+ fi
174+
175+ if [ " $run_informers " = true ]; then
176+ echo " Generating informers at ${OUTPUT_PKG} /informers"
177+ go run k8s.io/code-generator/cmd/informer-gen \
178+ --versioned-clientset-package " ${OUTPUT_PKG} /${CLIENTSET_PKG_NAME} /${CLIENTSET_NAME} " \
179+ --listers-package " ${OUTPUT_PKG} /listers" \
180+ --output-dir " ${OUTPUT_DIR} /informers" \
181+ --output-pkg " ${OUTPUT_PKG} /informers" \
182+ ${COMMON_FLAGS} \
183+ ${INPUT_DIRS_SPACE}
184+ fi
185+
186+ if [ " $run_register " = true ]; then
187+ echo " Generating register"
188+ go run k8s.io/code-generator/cmd/register-gen \
189+ --output-file " zz_generated.register.go" \
190+ ${COMMON_FLAGS} \
191+ ${INPUT_DIRS_SPACE}
192+ fi
193+
194+ if [ " $run_deepcopy " = true ]; then
195+ echo " Generating deepcopy at ${APIS_PATH} "
196+ go run sigs.k8s.io/controller-tools/cmd/controller-gen \
197+ object:headerFile=" ${SCRIPT_ROOT} /hack/boilerplate.generatego.txt" \
198+ paths=" ./${APIS_PATH} /..."
199+ fi
0 commit comments