Quellcode durchsuchen

Merge pull request #40148 from kolyshkin/vendor-diff

hack/validate/vendor: print diff for modified files
Sebastiaan van Stijn vor 5 Jahren
Ursprung
Commit
e9bd017b68
1 geänderte Dateien mit 9 neuen und 6 gelöschten Zeilen
  1. 9 6
      hack/validate/vendor

+ 9 - 6
hack/validate/vendor

@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 source "${SCRIPTDIR}/.validate"
 
 validate_vendor_diff(){
@@ -13,6 +13,7 @@ validate_vendor_diff(){
 		vndr
 		# check if any files have changed
 		diffs="$(git status --porcelain -- vendor 2>/dev/null)"
+		mfiles="$(echo "$diffs" | awk '/^ M / {print $2}')"
 		if [ "$diffs" ]; then
 			{
 				echo 'The result of vndr differs'
@@ -21,6 +22,9 @@ validate_vendor_diff(){
 				echo
 				echo 'Please vendor your package with github.com/LK4D4/vndr.'
 				echo
+				if [ -n "$mfiles" ] ; then
+					git diff -- "$mfiles"
+				fi
 			} >&2
 			false
 		else
@@ -34,11 +38,10 @@ 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
-	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
+	for f in $(mawk '/^[a-zA-Z0-9]/ { print $1 }' vendor.conf); do
+	if [ -d "vendor/$f" ]; then
+		found=$(echo "vendor/$f/"* | grep -iEc '/(LICENSE|COPYING)')
+		if [ "$found" -eq 0 ]; then
 		echo "WARNING: could not find copyright information for $f"
 		fi
 	else