diff --git a/hack/update-codecgen.sh b/hack/update-codecgen.sh index d098f07da72..63f1fa50cce 100755 --- a/hack/update-codecgen.sh +++ b/hack/update-codecgen.sh @@ -23,7 +23,7 @@ source "${KUBE_ROOT}/hack/lib/init.sh" kube::golang::setup_env -generated_files=$( +generated_files=($( find . -not \( \ \( \ -wholename './output' \ @@ -33,7 +33,7 @@ generated_files=$( -o -wholename '*/third_party/*' \ -o -wholename '*/Godeps/*' \ \) -prune \ - \) -name '*.generated.go') + \) -name '*.generated.go')) # Build codecgen binary from Godeps. function cleanup { @@ -41,6 +41,46 @@ function cleanup { } trap cleanup EXIT +# Sort all files in the dependency order. +number=${#generated_files[@]} +for (( i=0; i "${base_generated_file}.tmp" cat "${base_generated_file}" >> "${base_generated_file}.tmp" mv "${base_generated_file}.tmp" "${base_generated_file}" + echo "${generated_file} is regenerated." popd > /dev/null done diff --git a/hack/verify-codecgen.sh b/hack/verify-codecgen.sh index 0b1e12551c9..c6d8d660c29 100755 --- a/hack/verify-codecgen.sh +++ b/hack/verify-codecgen.sh @@ -23,9 +23,7 @@ source "${KUBE_ROOT}/hack/lib/init.sh" kube::golang::setup_env -cd "${KUBE_ROOT}" - -generated_files=$( +generated_files=($( find . -not \( \ \( \ -wholename './output' \ @@ -35,7 +33,7 @@ generated_files=$( -o -wholename '*/third_party/*' \ -o -wholename '*/Godeps/*' \ \) -prune \ - \) -name '*.generated.go') + \) -name '*.generated.go')) # create a nice clean place to put codecgen there _tmpdir="$(mktemp -d -t codecgen.XXXXXX)" @@ -45,6 +43,46 @@ function cleanup { } trap cleanup EXIT +# Sort all files in the dependency order. +number=${#generated_files[@]} +for (( i=0; i