fix hack/verify-no-vendor-cycles.sh shellcheck failures

This commit is contained in:
Benjamin Elder 2019-06-23 16:35:28 -07:00
parent 1741d9393d
commit 7e96be30ca
2 changed files with 12 additions and 8 deletions

View File

@ -23,7 +23,6 @@
./hack/lib/version.sh
./hack/make-rules/make-help.sh
./hack/test-integration.sh
./hack/verify-no-vendor-cycles.sh
./hack/verify-test-featuregates.sh
./test/cmd/diff.sh
./test/cmd/discovery.sh

View File

@ -17,28 +17,33 @@
set -o errexit
set -o nounset
set -o pipefail
set -x;
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${KUBE_ROOT}/hack/lib/init.sh"
export GO111MODULE=auto
staging_repos=($(ls "${KUBE_ROOT}/staging/src/k8s.io/"))
staging_repos=()
kube::util::read-array staging_repos < <(kube::util::list_staging_repos)
staging_repos_pattern=$(IFS="|"; echo "${staging_repos[*]}")
cd "${KUBE_ROOT}"
failed=false
for i in $(find vendor/ -type d); do
deps=$(go list -f '{{range .Deps}}{{.}}{{"\n"}}{{end}}' ./$i 2> /dev/null || echo "")
while IFS= read -r dir; do
deps=$(go list -f '{{range .Deps}}{{.}}{{"\n"}}{{end}}' "${dir}" 2> /dev/null || echo "")
deps_on_main=$(echo "${deps}" | grep -v "k8s.io/kubernetes/vendor/" | grep "k8s.io/kubernetes" || echo "")
if [ -n "${deps_on_main}" ]; then
echo "Package ${i} has a cyclic dependency on the main repository."
echo "Package ${dir} has a cyclic dependency on the main repository."
failed=true
fi
deps_on_staging=$(echo "${deps}" | grep "k8s.io/kubernetes/vendor/k8s.io" | grep -E "k8s.io\/${staging_repos_pattern}\>" || echo "")
if [ -n "${deps_on_staging}" ]; then
echo "Package ${i} has a cyclic dependency on staging repository packages: ${deps_on_staging}"
echo "Package ${dir} has a cyclic dependency on staging repository packages: ${deps_on_staging}"
failed=true
fi
done
done < <(find ./vendor -type d)
if [[ "${failed}" == "true" ]]; then
exit 1