|
@@ -6,17 +6,27 @@ IFS=$'\n'
|
|
files=( $(validate_diff --diff-filter=ACMR --name-only -- '*.go' | grep -v '^vendor/' || true) )
|
|
files=( $(validate_diff --diff-filter=ACMR --name-only -- '*.go' | grep -v '^vendor/' || true) )
|
|
unset IFS
|
|
unset IFS
|
|
|
|
|
|
|
|
+errors=()
|
|
for f in "${files[@]}"; do
|
|
for f in "${files[@]}"; do
|
|
- # we use "git show" here to validate that what's committed is vetted
|
|
|
|
- failedVet=$(git show "$VALIDATE_HEAD:$f" | go vet)
|
|
|
|
- if [ $failedVet ]; then
|
|
|
|
- fails=yes
|
|
|
|
- echo $failedVet
|
|
|
|
- fi
|
|
|
|
|
|
+ # we use "git show" here to validate that what's committed passes go vet
|
|
|
|
+ failedVet=$(go vet "$f")
|
|
|
|
+ if [ "$failedVet" ]; then
|
|
|
|
+ errors+=( "$failedVet" )
|
|
|
|
+ fi
|
|
done
|
|
done
|
|
|
|
|
|
-if [ $fails ]; then
|
|
|
|
- echo 'Please review and resolve the above issues and commit the result.'
|
|
|
|
|
|
+
|
|
|
|
+if [ ${#errors[@]} -eq 0 ]; then
|
|
|
|
+ echo 'Congratulations! All Go source files have been vetted.'
|
|
else
|
|
else
|
|
- echo 'All Go source files have been vetted.'
|
|
|
|
|
|
+ {
|
|
|
|
+ echo "Errors from go vet:"
|
|
|
|
+ for err in "${errors[@]}"; do
|
|
|
|
+ echo " - $err"
|
|
|
|
+ done
|
|
|
|
+ echo
|
|
|
|
+ echo 'Please fix the above errors. You can test via "go vet" and commit the result.'
|
|
|
|
+ echo
|
|
|
|
+ } >&2
|
|
|
|
+ false
|
|
fi
|
|
fi
|