47 lines
1.5 KiB
Makefile
47 lines
1.5 KiB
Makefile
TEST?=$$(go list ./... |grep -Ev 'vendor|examples|testutils')
|
|
GOFMT_FILES?=$$(find . -name '*.go' |grep -v vendor)
|
|
|
|
default: vet errcheck test
|
|
|
|
tools:: ## Download and install all dev/code tools
|
|
@echo "==> Installing dev tools"
|
|
go get -u github.com/golang/dep/cmd/dep
|
|
go get -u github.com/golang/lint/golint
|
|
go get -u github.com/kisielk/errcheck
|
|
@echo "==> Installing test package dependencies"
|
|
go test -i $(TEST) || exit 1
|
|
|
|
test:: ## Run unit tests
|
|
@echo "==> Running unit test with coverage"
|
|
@./scripts/go-test-with-coverage.sh
|
|
|
|
testacc:: ## Run acceptance tests
|
|
@echo "==> Running acceptance tests"
|
|
TRITON_TEST=1 go test $(TEST) -v $(TESTARGS) -run -timeout 120m
|
|
|
|
vet:: ## Check for unwanted code constructs
|
|
@echo "go vet ."
|
|
@go vet $$(go list ./... | grep -v vendor/) ; if [ $$? -eq 1 ]; then \
|
|
echo ""; \
|
|
echo "Vet found suspicious constructs. Please check the reported constructs"; \
|
|
echo "and fix them if necessary before submitting the code for review."; \
|
|
exit 1; \
|
|
fi
|
|
|
|
lint:: ## Lint and vet code by common Go standards
|
|
@bash $(CURDIR)/scripts/lint.sh
|
|
|
|
fmt:: ## Format as canonical Go code
|
|
gofmt -w $(GOFMT_FILES)
|
|
|
|
fmtcheck:: ## Check if code format is canonical Go
|
|
@bash $(CURDIR)/scripts/gofmtcheck.sh
|
|
|
|
errcheck:: ## Check for unhandled errors
|
|
@bash $(CURDIR)/scripts/errcheck.sh
|
|
|
|
.PHONY: help
|
|
help:: ## Display this help message
|
|
@echo "GNU make(1) targets:"
|
|
@grep -E '^[a-zA-Z_.-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'
|