@@ -50,11 +50,16 @@ function kube::codegen::internal::git_grep() {
50
50
# --boilerplate <string = path_to_kube_codegen_boilerplate>
51
51
# An optional override for the header file to insert into generated files.
52
52
#
53
+ # --extra-peer-dir <string>
54
+ # An optional list (this flag may be specified multiple times) of "extra"
55
+ # directories to consider during conversion generation.
56
+ #
53
57
function kube::codegen::gen_helpers() {
54
58
local in_pkg_root=" "
55
59
local out_base=" " # gengo needs the output dir must be $out_base/$out_pkg_root
56
60
local boilerplate=" ${KUBE_CODEGEN_ROOT} /hack/boilerplate.go.txt"
57
61
local v=" ${KUBE_VERBOSE:- 0} "
62
+ local extra_peers=()
58
63
59
64
while [ " $# " -gt 0 ]; do
60
65
case " $1 " in
@@ -70,6 +75,10 @@ function kube::codegen::gen_helpers() {
70
75
boilerplate=" $2 "
71
76
shift 2
72
77
;;
78
+ " --extra-peer-dir" )
79
+ extra_peers+=(" $2 " )
80
+ shift 2
81
+ ;;
73
82
* )
74
83
echo " unknown argument: $1 " >&2
75
84
return 1
@@ -128,16 +137,16 @@ function kube::codegen::gen_helpers() {
128
137
" :(glob)${root} " /' **/zz_generated.deepcopy.go' \
129
138
| xargs -0 rm -f
130
139
131
- local inputs =()
140
+ local input_args =()
132
141
for arg in " ${input_pkgs[@]} " ; do
133
- inputs +=(" --input-dirs" " $arg " )
142
+ input_args +=(" --input-dirs" " $arg " )
134
143
done
135
144
" ${gobin} /deepcopy-gen" \
136
145
-v " ${v} " \
137
146
-O zz_generated.deepcopy \
138
147
--go-header-file " ${boilerplate} " \
139
148
--output-base " ${out_base} " \
140
- " ${inputs [@]} "
149
+ " ${input_args [@]} "
141
150
fi
142
151
143
152
# Defaults
@@ -162,16 +171,16 @@ function kube::codegen::gen_helpers() {
162
171
" :(glob)${root} " /' **/zz_generated.defaults.go' \
163
172
| xargs -0 rm -f
164
173
165
- local inputs =()
174
+ local input_args =()
166
175
for arg in " ${input_pkgs[@]} " ; do
167
- inputs +=(" --input-dirs" " $arg " )
176
+ input_args +=(" --input-dirs" " $arg " )
168
177
done
169
178
" ${gobin} /defaulter-gen" \
170
179
-v " ${v} " \
171
180
-O zz_generated.defaults \
172
181
--go-header-file " ${boilerplate} " \
173
182
--output-base " ${out_base} " \
174
- " ${inputs [@]} "
183
+ " ${input_args [@]} "
175
184
fi
176
185
177
186
# Conversions
@@ -196,16 +205,21 @@ function kube::codegen::gen_helpers() {
196
205
" :(glob)${root} " /' **/zz_generated.conversion.go' \
197
206
| xargs -0 rm -f
198
207
199
- local inputs =()
208
+ local input_args =()
200
209
for arg in " ${input_pkgs[@]} " ; do
201
- inputs+=(" --input-dirs" " $arg " )
210
+ input_args+=(" --input-dirs" " $arg " )
211
+ done
212
+ local extra_peer_args=()
213
+ for arg in " ${extra_peers[@]: +" ${extra_peers[@]} " } " ; do
214
+ extra_peer_args+=(" --extra-peer-dirs" " $arg " )
202
215
done
203
216
" ${gobin} /conversion-gen" \
204
217
-v " ${v} " \
205
218
-O zz_generated.conversion \
206
219
--go-header-file " ${boilerplate} " \
207
220
--output-base " ${out_base} " \
208
- " ${inputs[@]} "
221
+ " ${extra_peer_args[@]: +" ${extra_peer_args[@]} " } " \
222
+ " ${input_args[@]} "
209
223
fi
210
224
}
211
225
0 commit comments