github.com/mshitrit/go-mutesting@v0.0.0-20210528084812-ff81dcaedfea/Makefile (about) 1 .PHONY: all clean clean-coverage generate install install-dependencies install-tools lint test test-verbose test-verbose-with-coverage 2 3 export ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS)) 4 export PKG := github.com/zimmski/go-mutesting 5 export ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) 6 7 export TEST_TIMEOUT_IN_SECONDS := 240 8 9 $(eval $(ARGS):;@:) # turn arguments into do-nothing targets 10 export ARGS 11 12 ifdef ARGS 13 PKG_TEST := $(ARGS) 14 else 15 PKG_TEST := $(PKG)/... 16 endif 17 18 all: install-dependencies install-tools install lint test 19 .PHONY: all 20 21 clean: 22 go clean -i $(PKG)/... 23 go clean -i -race $(PKG)/... 24 .PHONY: clean 25 26 clean-coverage: 27 find $(ROOT_DIR) | grep .coverprofile | xargs rm 28 .PHONY: clean-coverage 29 30 generate: clean 31 go generate $(PKG)/... 32 .PHONY: generate 33 34 install: 35 go install -v $(PKG)/... 36 .PHONY: install 37 38 install-dependencies: 39 go get -t -v $(PKG)/... 40 go test -i -v $(PKG)/... 41 .PHONY: install-dependencies 42 43 install-tools: 44 # generation 45 go get -u -v golang.org/x/tools/cmd/stringer 46 47 # linting 48 go get -u -v golang.org/x/lint/golint/... 49 go get -u -v github.com/kisielk/errcheck/... 50 go get -u -v honnef.co/go/tools/cmd/megacheck 51 52 # code coverage 53 go get -u -v golang.org/x/tools/cmd/cover 54 go get -u -v github.com/onsi/ginkgo/ginkgo/... 55 go get -u -v github.com/modocache/gover/... 56 go get -u -v github.com/mattn/goveralls/... 57 .PHONY: install-tools 58 59 lint: 60 $(ROOT_DIR)/scripts/lint.sh 61 .PHONY: lint 62 63 test: 64 go test -race -test.timeout "$(TEST_TIMEOUT_IN_SECONDS)s" $(PKG_TEST) 65 .PHONY: test 66 67 test-verbose: 68 go test -race -test.timeout "$(TEST_TIMEOUT_IN_SECONDS)s" -v $(PKG_TEST) 69 .PHONY: test-verbose 70 71 test-verbose-with-coverage: 72 ginkgo -r -v -cover -race -skipPackage="testdata" 73 .PHONY: test-verbose-with-coverage