1 export GO15VENDOREXPERIMENT=1
3 PACKAGES := $(shell glide nv)
6 find . '(' -path '*/.*' -o -path './vendor' ')' -prune \
7 -o -name '*.go' -print | cut -b3-)
11 glide --version || go get github.com/Masterminds/glide
16 go build -i $(PACKAGES)
20 go test -cover -race $(PACKAGES)
24 $(eval FMT_LOG := $(shell mktemp -t gofmt.XXXXX))
25 @gofmt -e -s -l $(GO_FILES) > $(FMT_LOG) || true
26 @[ ! -s "$(FMT_LOG)" ] || (echo "gofmt failed:" | cat - $(FMT_LOG) && false)
30 $(eval VET_LOG := $(shell mktemp -t govet.XXXXX))
31 @go vet $(PACKAGES) 2>&1 \
32 | grep -v '^exit status' > $(VET_LOG) || true
33 @[ ! -s "$(VET_LOG)" ] || (echo "govet failed:" | cat - $(VET_LOG) && false)
37 @go get github.com/golang/lint/golint
38 $(eval LINT_LOG := $(shell mktemp -t golint.XXXXX))
39 @cat /dev/null > $(LINT_LOG)
40 @$(foreach pkg, $(PACKAGES), golint $(pkg) >> $(LINT_LOG) || true;)
41 @[ ! -s "$(LINT_LOG)" ] || (echo "golint failed:" | cat - $(LINT_LOG) && false)
45 @go get honnef.co/go/tools/cmd/staticcheck
46 $(eval STATICCHECK_LOG := $(shell mktemp -t staticcheck.XXXXX))
47 @staticcheck $(PACKAGES) 2>&1 > $(STATICCHECK_LOG) || true
48 @[ ! -s "$(STATICCHECK_LOG)" ] || (echo "staticcheck failed:" | cat - $(STATICCHECK_LOG) && false)
51 lint: gofmt govet golint staticcheck
55 ./scripts/cover.sh $(shell go list $(PACKAGES))
56 go tool cover -html=cover.out -o cover.html
59 @go get go.uber.org/tools/update-license
61 $(shell go list -json $(PACKAGES) | \
62 jq -r '.Dir + "/" + (.GoFiles | .[])')
64 ##############################################################################
68 go get github.com/wadey/gocovmerge
69 go get github.com/mattn/goveralls
70 go get golang.org/x/tools/cmd/cover
74 ./scripts/cover.sh $(shell go list $(PACKAGES))