From 8fd27f62cab6116f47906f538b56aded4a97b991 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Mon, 18 May 2020 11:25:37 -0400 Subject: [PATCH] Support for banning incompatible dependencies - start with klog v1 Signed-off-by: Davanum Srinivas --- hack/lint-dependencies.sh | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/hack/lint-dependencies.sh b/hack/lint-dependencies.sh index f48df9c68b0..c85a42491a2 100755 --- a/hack/lint-dependencies.sh +++ b/hack/lint-dependencies.sh @@ -58,6 +58,23 @@ case "${1:-}" in ;; esac +# let us log all errors before we exit +rc=0 + +# List of dependencies we need to avoid dragging back into kubernetes/kubernetes +forbidden_repos=( + "k8s.io/klog" # we have switched to klog v2, so avoid klog v1 +) +for forbidden_repo in "${forbidden_repos[@]}"; do + deps_on_forbidden=$(go mod graph | grep " ${forbidden_repo}@" || echo "") + if [ -n "${deps_on_forbidden}" ]; then + kube::log::error "The following have transitive dependencies on ${forbidden_repo}, which is not allowed:" + echo "${deps_on_forbidden}" + echo "" + rc=1 + fi +done + outdated=$(go list -m -json all | jq -r " select(.Replace.Version != null) | select(.Version != .Replace.Version) | @@ -89,8 +106,8 @@ if [[ -n "${unused}" ]]; then fi if [[ -n "${unused}${outdated}" ]]; then - exit 1 + rc=1 fi echo "All pinned versions of checked dependencies match their preferred version." -exit 0 +exit $rc