lint 746 B

12345678910111213141516171819202122232425262728293031
  1. #!/bin/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/' | grep -v '^cli/compose/schema/bindata.go' || true) )
  6. unset IFS
  7. errors=()
  8. for f in "${files[@]}"; do
  9. failedLint=$(golint "$f")
  10. if [ "$failedLint" ]; then
  11. errors+=( "$failedLint" )
  12. fi
  13. done
  14. if [ ${#errors[@]} -eq 0 ]; then
  15. echo 'Congratulations! All Go source files have been linted.'
  16. else
  17. {
  18. echo "Errors from golint:"
  19. for err in "${errors[@]}"; do
  20. echo "$err"
  21. done
  22. echo
  23. echo 'Please fix the above errors. You can test via "golint" and commit the result.'
  24. echo
  25. } >&2
  26. false
  27. fi