pre-commit 815 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/bin/sh
  2. echo ">>> golint"
  3. for dir in $(go list ./... | grep -v /vendor/)
  4. do
  5. golint "${dir}"
  6. done
  7. echo "<<< golint"
  8. echo
  9. echo ">>> go vet"
  10. go vet $(go list ./... | grep -v /vendor/)
  11. echo "<<< go vet"
  12. echo
  13. echo ">>> gosimple"
  14. gosimple $(go list ./... | grep -v /vendor/)
  15. echo "<<< gosimple"
  16. echo
  17. # Check for gofmt problems and report if any.
  18. gofiles=$(git diff --cached --name-only --diff-filter=ACM | grep '.go$' | grep -v /vendor/)
  19. [ -z "$gofiles" ] && echo "EXIT $vetres" && exit $vetres
  20. if [ -n "$gofiles" ]; then
  21. unformatted=$(gofmt -l $gofiles)
  22. if [ -n "$unformatted" ]; then
  23. # Some files are not gofmt'd.
  24. echo >&2 "Go files must be formatted with gofmt. Please run:"
  25. for fn in $unformatted; do
  26. echo >&2 " gofmt -w $PWD/$fn"
  27. done
  28. fi
  29. fi
  30. echo