45 lines
750 B
Makefile
45 lines
750 B
Makefile
SHELL := /bin/bash
|
|
|
|
export GOBIN := $(PWD)/_tools
|
|
export PATH := $(GOBIN):$(PATH)
|
|
export GO111MODULE := on
|
|
|
|
.PHONY: generate
|
|
generate:
|
|
go generate ./...
|
|
|
|
.PHONY: tools
|
|
tools:
|
|
@cat tools/tools.go | grep -E '^\s*_\s.*' | awk '{ print $$2 }' | xargs go install
|
|
|
|
.PHONY: build
|
|
build:
|
|
go build ./...
|
|
|
|
.PHONY: test
|
|
test: format unit-test credits
|
|
|
|
.PHONY: format
|
|
format:
|
|
go mod tidy
|
|
|
|
.PHONY: credits
|
|
credits:
|
|
gocredits -skip-missing . > CREDITS
|
|
|
|
.PHONY: unit-test
|
|
unit-test: lint
|
|
go test -race ./...
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
go vet ./...
|
|
|
|
.PHONY: coverage
|
|
coverage:
|
|
DEBUG=true go test -coverpkg ./... -covermode=atomic -coverprofile=coverage.txt -race $(shell go list ./...)
|
|
|
|
.PHONY: coverage-web
|
|
coverage-web: coverage
|
|
go tool cover -html=coverage.txt
|