From 3a18959288313476463fb2b133a6c561ffa06c92 Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Wed, 19 Jul 2017 18:56:34 +0200 Subject: [PATCH] update-codecgen.sh: add staging dir support to tsort logic --- hack/update-codecgen.sh | 62 ++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/hack/update-codecgen.sh b/hack/update-codecgen.sh index 65420b7b7b..fe81947200 100755 --- a/hack/update-codecgen.sh +++ b/hack/update-codecgen.sh @@ -27,9 +27,6 @@ kube::golang::setup_env # list (since there aren't many dependencies). generated_files=($( - find ./vendor/k8s.io/api/ \ - -name '*.generated.go' | LC_ALL=C sort -r - find . -not \( \ \( \ -wholename './output' \ @@ -43,36 +40,35 @@ generated_files=($( \) -prune \ \) -name '*.generated.go' | LC_ALL=C sort -r - find ./vendor/k8s.io/kube-aggregator/ -not \( \ + find ./staging/src -not \( \ \( \ -wholename './output' \ -o -wholename './_output' \ - -o -wholename './staging' \ -o -wholename './release' \ -o -wholename './target' \ -o -wholename '*/third_party/*' \ -o -wholename '*/codecgen-*-1234.generated.go' \ \) -prune \ - \) -name '*.generated.go' | LC_ALL=C sort -r - - find ./vendor/k8s.io/metrics/ \ - -name '*.generated.go' | LC_ALL=C sort -r - - find ./vendor/k8s.io/apiserver/ -not \( \ - \( \ - -wholename './output' \ - -o -wholename './_output' \ - -o -wholename './staging' \ - -o -wholename './release' \ - -o -wholename './target' \ - -o -wholename '*/third_party/*' \ - -o -wholename '*/codecgen-*-1234.generated.go' \ - \) -prune \ - \) -name '*.generated.go' | LC_ALL=C sort -r + \) -name '*.generated.go' | sed 's,staging/src,vendor,' | LC_ALL=C sort -r )) +number=${#generated_files[@]} +###for f in $(echo "${generated_files[@]}" | LC_ALL=C sort); do +### echo "DBG: generated_files: $f" +###done -# We only work for deps within this prefix. -my_prefix="k8s.io/kubernetes" +function package () { + dirname "${1}" | sed 's,\./,k8s.io/kubernetes/,' +} + +# extract package list we care about. +dep_packages=($( + for f in "${generated_files[@]}"; do + package "${f}" + done | LC_ALL=C sort -u +)) +###for f in $(echo "${dep_packages[@]}"); do +### echo "DBG: dep_packages: $f" +###done # Register function to be called on EXIT to remove codecgen # binary and also to touch the files that should be regenerated @@ -81,8 +77,8 @@ my_prefix="k8s.io/kubernetes" function cleanup { rm -f "${CODECGEN:-}" pushd "${KUBE_ROOT}" > /dev/null - for (( i=0; i < number; i++ )); do - touch "${generated_files[${i}]}" || true + for f in "${generated_files[@]}"; do + touch "${f}" || true done popd > /dev/null } @@ -90,23 +86,19 @@ trap cleanup EXIT # Precompute dependencies for all directories. # Then sort all files in the dependency order. -number=${#generated_files[@]} result="" +dep_packages_grep_pattern=$(echo ${dep_packages[@]} | tr " " '|') +###echo "DBG: dep_packages_grep_pattern: ${dep_packages_grep_pattern}" for (( i=0; i