You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
874 B
38 lines
874 B
# Directory to put `go install`ed binaries in. |
|
export GOBIN ?= $(shell pwd)/bin |
|
|
|
GO_FILES := $(shell \ |
|
find . '(' -path '*/.*' -o -path './vendor' ')' -prune \ |
|
-o -name '*.go' -print | cut -b3-) |
|
|
|
.PHONY: build |
|
build: |
|
go build ./... |
|
|
|
.PHONY: test |
|
test: |
|
go test -race ./... |
|
|
|
.PHONY: gofmt |
|
gofmt: |
|
$(eval FMT_LOG := $(shell mktemp -t gofmt.XXXXX)) |
|
@gofmt -e -s -l $(GO_FILES) > $(FMT_LOG) || true |
|
@[ ! -s "$(FMT_LOG)" ] || (echo "gofmt failed:" | cat - $(FMT_LOG) && false) |
|
|
|
.PHONY: golint |
|
golint: |
|
@cd tools && go install golang.org/x/lint/golint |
|
@$(GOBIN)/golint ./... |
|
|
|
.PHONY: staticcheck |
|
staticcheck: |
|
@cd tools && go install honnef.co/go/tools/cmd/staticcheck |
|
@$(GOBIN)/staticcheck ./... |
|
|
|
.PHONY: lint |
|
lint: gofmt golint staticcheck |
|
|
|
.PHONY: cover |
|
cover: |
|
go test -race -coverprofile=cover.out -coverpkg=./... -v ./... |
|
go tool cover -html=cover.out -o cover.html
|
|
|