blob: 1ef263075d762d1ce598eb31fd218bfa28b5a16a [file] [log] [blame]
William Kurkianea869482019-04-09 15:16:11 -04001# Many Go tools take file globs or directories as arguments instead of packages.
2PACKAGE_FILES ?= *.go
3
Abhilash S.L3b494632019-07-16 15:51:09 +05304# For pre go1.6
William Kurkianea869482019-04-09 15:16:11 -04005export GO15VENDOREXPERIMENT=1
6
7
8.PHONY: build
9build:
Abhilash S.L3b494632019-07-16 15:51:09 +053010 go build -i ./...
William Kurkianea869482019-04-09 15:16:11 -040011
12
13.PHONY: install
14install:
15 glide --version || go get github.com/Masterminds/glide
16 glide install
17
18
19.PHONY: test
20test:
Abhilash S.L3b494632019-07-16 15:51:09 +053021 go test -cover -race ./...
William Kurkianea869482019-04-09 15:16:11 -040022
23
24.PHONY: install_ci
25install_ci: install
26 go get github.com/wadey/gocovmerge
27 go get github.com/mattn/goveralls
28 go get golang.org/x/tools/cmd/cover
Abhilash S.L3b494632019-07-16 15:51:09 +053029
30.PHONY: install_lint
31install_lint:
32 go get golang.org/x/lint/golint
33
William Kurkianea869482019-04-09 15:16:11 -040034
35.PHONY: lint
36lint:
William Kurkianea869482019-04-09 15:16:11 -040037 @rm -rf lint.log
38 @echo "Checking formatting..."
39 @gofmt -d -s $(PACKAGE_FILES) 2>&1 | tee lint.log
40 @echo "Checking vet..."
Abhilash S.L3b494632019-07-16 15:51:09 +053041 @go vet ./... 2>&1 | tee -a lint.log;)
William Kurkianea869482019-04-09 15:16:11 -040042 @echo "Checking lint..."
Abhilash S.L3b494632019-07-16 15:51:09 +053043 @golint $$(go list ./...) 2>&1 | tee -a lint.log
William Kurkianea869482019-04-09 15:16:11 -040044 @echo "Checking for unresolved FIXMEs..."
45 @git grep -i fixme | grep -v -e vendor -e Makefile | tee -a lint.log
46 @[ ! -s lint.log ]
William Kurkianea869482019-04-09 15:16:11 -040047
48
49.PHONY: test_ci
50test_ci: install_ci build
51 ./scripts/cover.sh $(shell go list $(PACKAGES))