Add --extra-peer in conversion in kube_codegen

This is not used internally, but is needed by external projects which
use the old script, making this sort of a regression.
This commit is contained in:
Tim Hockin 2023-10-04 13:25:52 -07:00
parent 6f5fa2eb2f
commit 69a3e3d108
No known key found for this signature in database

View File

@ -50,11 +50,16 @@ function kube::codegen::internal::git_grep() {
# --boilerplate <string = path_to_kube_codegen_boilerplate> # --boilerplate <string = path_to_kube_codegen_boilerplate>
# An optional override for the header file to insert into generated files. # An optional override for the header file to insert into generated files.
# #
# --extra-peer-dir <string>
# An optional list (this flag may be specified multiple times) of "extra"
# directories to consider during conversion generation.
#
function kube::codegen::gen_helpers() { function kube::codegen::gen_helpers() {
local in_pkg_root="" local in_pkg_root=""
local out_base="" # gengo needs the output dir must be $out_base/$out_pkg_root local out_base="" # gengo needs the output dir must be $out_base/$out_pkg_root
local boilerplate="${KUBE_CODEGEN_ROOT}/hack/boilerplate.go.txt" local boilerplate="${KUBE_CODEGEN_ROOT}/hack/boilerplate.go.txt"
local v="${KUBE_VERBOSE:-0}" local v="${KUBE_VERBOSE:-0}"
local extra_peers=()
while [ "$#" -gt 0 ]; do while [ "$#" -gt 0 ]; do
case "$1" in case "$1" in
@ -70,6 +75,10 @@ function kube::codegen::gen_helpers() {
boilerplate="$2" boilerplate="$2"
shift 2 shift 2
;; ;;
"--extra-peer-dir")
extra_peers+=("$2")
shift 2
;;
*) *)
echo "unknown argument: $1" >&2 echo "unknown argument: $1" >&2
return 1 return 1
@ -128,16 +137,16 @@ function kube::codegen::gen_helpers() {
":(glob)${root}"/'**/zz_generated.deepcopy.go' \ ":(glob)${root}"/'**/zz_generated.deepcopy.go' \
| xargs -0 rm -f | xargs -0 rm -f
local inputs=() local input_args=()
for arg in "${input_pkgs[@]}"; do for arg in "${input_pkgs[@]}"; do
inputs+=("--input-dirs" "$arg") input_args+=("--input-dirs" "$arg")
done done
"${gobin}/deepcopy-gen" \ "${gobin}/deepcopy-gen" \
-v "${v}" \ -v "${v}" \
-O zz_generated.deepcopy \ -O zz_generated.deepcopy \
--go-header-file "${boilerplate}" \ --go-header-file "${boilerplate}" \
--output-base "${out_base}" \ --output-base "${out_base}" \
"${inputs[@]}" "${input_args[@]}"
fi fi
# Defaults # Defaults
@ -162,16 +171,16 @@ function kube::codegen::gen_helpers() {
":(glob)${root}"/'**/zz_generated.defaults.go' \ ":(glob)${root}"/'**/zz_generated.defaults.go' \
| xargs -0 rm -f | xargs -0 rm -f
local inputs=() local input_args=()
for arg in "${input_pkgs[@]}"; do for arg in "${input_pkgs[@]}"; do
inputs+=("--input-dirs" "$arg") input_args+=("--input-dirs" "$arg")
done done
"${gobin}/defaulter-gen" \ "${gobin}/defaulter-gen" \
-v "${v}" \ -v "${v}" \
-O zz_generated.defaults \ -O zz_generated.defaults \
--go-header-file "${boilerplate}" \ --go-header-file "${boilerplate}" \
--output-base "${out_base}" \ --output-base "${out_base}" \
"${inputs[@]}" "${input_args[@]}"
fi fi
# Conversions # Conversions
@ -196,16 +205,21 @@ function kube::codegen::gen_helpers() {
":(glob)${root}"/'**/zz_generated.conversion.go' \ ":(glob)${root}"/'**/zz_generated.conversion.go' \
| xargs -0 rm -f | xargs -0 rm -f
local inputs=() local input_args=()
for arg in "${input_pkgs[@]}"; do for arg in "${input_pkgs[@]}"; do
inputs+=("--input-dirs" "$arg") input_args+=("--input-dirs" "$arg")
done
local extra_peer_args=()
for arg in "${extra_peers[@]:+"${extra_peers[@]}"}"; do
extra_peer_args+=("--extra-peer-dirs" "$arg")
done done
"${gobin}/conversion-gen" \ "${gobin}/conversion-gen" \
-v "${v}" \ -v "${v}" \
-O zz_generated.conversion \ -O zz_generated.conversion \
--go-header-file "${boilerplate}" \ --go-header-file "${boilerplate}" \
--output-base "${out_base}" \ --output-base "${out_base}" \
"${inputs[@]}" "${extra_peer_args[@]:+"${extra_peer_args[@]}"}" \
"${input_args[@]}"
fi fi
} }