validate-vet 599 B

12345678910111213141516171819202122232425262728293031
  1. #!/bin/bash
  2. source "${MAKEDIR}/.validate"
  3. IFS=$'\n'
  4. files=( $(validate_diff --diff-filter=ACMR --name-only -- '*.go' | grep -v '^vendor/' || true) )
  5. unset IFS
  6. errors=()
  7. for f in "${files[@]}"; do
  8. failedVet=$(go vet "$f")
  9. if [ "$failedVet" ]; then
  10. errors+=( "$failedVet" )
  11. fi
  12. done
  13. if [ ${#errors[@]} -eq 0 ]; then
  14. echo 'Congratulations! All Go source files have been vetted.'
  15. else
  16. {
  17. echo "Errors from go vet:"
  18. for err in "${errors[@]}"; do
  19. echo " - $err"
  20. done
  21. echo
  22. echo 'Please fix the above errors. You can test via "go vet" and commit the result.'
  23. echo
  24. } >&2
  25. false
  26. fi