47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| export GOBIN ?= $(shell pwd)/bin
 | |
| 
 | |
| GO_FILES := $(shell \
 | |
| 	find . '(' -path '*/.*' -o -path './vendor' ')' -prune \
 | |
| 	-o -name '*.go' -print | cut -b3-)
 | |
| 
 | |
| GOLINT = $(GOBIN)/golint
 | |
| STATICCHECK = $(GOBIN)/staticcheck
 | |
| 
 | |
| .PHONY: build
 | |
| build:
 | |
| 	go build ./...
 | |
| 
 | |
| .PHONY: install
 | |
| install:
 | |
| 	go mod download
 | |
| 
 | |
| .PHONY: test
 | |
| test:
 | |
| 	go test -race ./...
 | |
| 
 | |
| .PHONY: cover
 | |
| cover:
 | |
| 	go test -coverprofile=cover.out -covermode=atomic -coverpkg=./... ./...
 | |
| 	go tool cover -html=cover.out -o cover.html
 | |
| 
 | |
| $(GOLINT): tools/go.mod
 | |
| 	cd tools && go install golang.org/x/lint/golint
 | |
| 
 | |
| $(STATICCHECK): tools/go.mod
 | |
| 	cd tools && go install honnef.co/go/tools/cmd/staticcheck
 | |
| 
 | |
| .PHONY: lint
 | |
| lint: $(GOLINT) $(STATICCHECK)
 | |
| 	@rm -rf lint.log
 | |
| 	@echo "Checking gofmt"
 | |
| 	@gofmt -d -s $(GO_FILES) 2>&1 | tee lint.log
 | |
| 	@echo "Checking go vet"
 | |
| 	@go vet ./... 2>&1 | tee -a lint.log
 | |
| 	@echo "Checking golint"
 | |
| 	@$(GOLINT) ./... | tee -a lint.log
 | |
| 	@echo "Checking staticcheck"
 | |
| 	@$(STATICCHECK) ./... 2>&1 |  tee -a lint.log
 | |
| 	@echo "Checking for license headers..."
 | |
| 	@./.build/check_license.sh | tee -a lint.log
 | |
| 	@[ ! -s lint.log ]
 |