github.com/ninadingole/gotest-ls@v0.0.3/Makefile (about) 1 NO_COLOR=\033[0m 2 OK_COLOR=\033[32;01m 3 4 BINARY = gotest-ls 5 BINDIR = bin 6 7 export GO111MODULE=on 8 9 GO ?= go 10 GOFLAGS ?= -v 11 GOLANGCI_LINT ?= golangci-lint-$(GOLANGCI_LINT_VERSION) 12 13 .PHONY: all 14 all: deps test build 15 16 clean: 17 @echo "$(OK_COLOR)==> Cleaning... $(NO_COLOR)" 18 @rm -rf $(BINDIR) 19 20 .PHONY: deps 21 deps: 22 $(GO) mod vendor -v 23 24 .PHONE: build 25 build: 26 @echo "$(OK_COLOR)==> Building$(NO_COLOR)" 27 @$(GO) build $(GOFLAGS) -o $(BINDIR)/$(BINARY) main.go 28 29 ## run unit tests 30 test: 31 @echo "$(OK_COLOR)==> Running tests$(NO_COLOR)" 32 $(GO) test -covermode=atomic -coverprofile=coverage.out -race -shuffle=on ./... 33 34 .PHONY: lint 35 lint: bin/$(GOLANGCI_LINT) 36 @echo "$(OK_COLOR)==> Running lint$(NO_COLOR)" 37 @gofumpt -e -d -w . 38 @bin/$(GOLANGCI_LINT) run -c .golangci.yml 39 40 # Download and install golangci-lint 41 bin/$(GOLANGCI_LINT): 42 @echo "$(OK_COLOR)==> Installing golangci-lint $(GOLANGCI_LINT_VERSION)$(NO_COLOR)"; \ 43 curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b ./bin "$(GOLANGCI_LINT_VERSION)" 44 @mv ./bin/golangci-lint bin/$(GOLANGCI_LINT)