diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..fadc326 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,9 @@ +language: go +go: + - 1.8 +install: + - go get github.com/golang/lint/golint + - go get github.com/fzipp/gocyclo + - go get github.com/client9/misspell/... + - go get github.com/gordonklaus/ineffassign +script: ./hooks/pre-commit diff --git a/client.go b/client.go index 051c1f8..65960d6 100644 --- a/client.go +++ b/client.go @@ -79,7 +79,7 @@ func (cli *Client) BuildBaseURL(urlPath ...string) string { return hsURL.String() } -// BuildURLWithQuery builds a URL with query paramters in addition to the Client's homeserver/prefix/access_token set already. +// BuildURLWithQuery builds a URL with query parameters in addition to the Client's homeserver/prefix/access_token set already. func (cli *Client) BuildURLWithQuery(urlPath []string, urlQuery map[string]string) string { u, _ := url.Parse(cli.BuildURL(urlPath...)) q := u.Query() diff --git a/hooks/pre-commit b/hooks/pre-commit index 41df674..bb0a27f 100755 --- a/hooks/pre-commit +++ b/hooks/pre-commit @@ -3,6 +3,23 @@ set -eu golint +misspell --error . + +# gofmt doesn't exit with an error code if the files don't match the expected +# format. So we have to run it and see if it outputs anything. +if gofmt -l -s . 2>&1 | read +then + echo "Error: not all code had been formatted with gofmt." + echo "Fixing the following files" + gofmt -s -w -l . + echo + echo "Please add them to the commit" + git status --short + exit 1 +fi + +ineffassign . + go fmt go tool vet --all --shadow . gocyclo -over 12 .