vet 712 B

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