Browse Source

Merge pull request #36190 from dnephin/fix-vendor-check

Fix vendor validation
Yong Tang 7 years ago
parent
commit
a5f15c738a
1 changed files with 13 additions and 9 deletions
  1. 13 9
      hack/validate/vendor

+ 13 - 9
hack/validate/vendor

@@ -9,9 +9,13 @@ validate_vendor_diff(){
 	unset IFS
 
 	if [ ${#files[@]} -gt 0 ]; then
-		# We run vndr to and see if we have a diff afterwards
+		# Remove vendor/ first so  that anything not included in vendor.conf will
+		# cause the validation to fail. archive/tar is a special case, see vendor.conf
+		# for details.
+		ls -d vendor/* | grep -v vendor/archive | xargs rm -rf
+		# run vndr to recreate vendor/
 		vndr
-		# Let see if the working directory is clean
+		# check if any files have changed
 		diffs="$(git status --porcelain -- vendor 2>/dev/null)"
 		if [ "$diffs" ]; then
 			{
@@ -34,17 +38,17 @@ validate_vendor_diff(){
 # 1. make sure all the vendored packages are used
 # 2. make sure all the packages contain license information (just warning, because it can cause false-positive)
 validate_vendor_used() {
-    pkgs=$(mawk '/^[a-zA-Z0-9]/ { print $1 }' < vendor.conf)
-    for f in $pkgs; do
+	pkgs=$(mawk '/^[a-zA-Z0-9]/ { print $1 }' < vendor.conf)
+	for f in $pkgs; do
 	if ls -d vendor/$f  > /dev/null 2>&1; then
-	    found=$(find vendor/$f -iregex '.*LICENSE.*' -or -iregex '.*COPYRIGHT.*' -or -iregex '.*COPYING.*' | wc -l)
-	    if [ $found -eq 0 ]; then
+		found=$(find vendor/$f -iregex '.*LICENSE.*' -or -iregex '.*COPYRIGHT.*' -or -iregex '.*COPYING.*' | wc -l)
+		if [ $found -eq 0 ]; then
 		echo "WARNING: could not find copyright information for $f"
-	    fi
+		fi
 	else
-	    echo "WARNING: $f is vendored but unused"
+		echo "WARNING: $f is vendored but unused"
 	fi
-    done
+	done
 }
 
 validate_vendor_diff