| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- .DEFAULT_GOAL := help
- SOURCES := $(shell find . -prune -o -name "*.go" -not -name '*_test.go' -print)
- GOIMPORTS ?= goimports
- GOCILINT ?= golangci-lint
- .PHONY: setup
- setup: ## Setup for required tools.
- go get -u golang.org/x/tools/cmd/goimports
- go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
- go get -u golang.org/x/tools/cmd/stringer
- .PHONY: fmt
- fmt: $(SOURCES) ## Formatting source codes.
- @$(GOIMPORTS) -w $^
- .PHONY: lint
- lint: ## Run golangci-lint.
- @$(GOCILINT) run --no-config --disable-all --enable=goimports --enable=misspell ./...
- .PHONY: test
- test: ## Run tests with race condition checking.
- @go test -race ./...
- .PHONY: bench
- bench: ## Run benchmarks.
- @go test -bench=. -run=- -benchmem ./...
- .PHONY: coverage
- cover: ## Run the tests.
- @go test -coverprofile=coverage.o
- @go tool cover -func=coverage.o
- .PHONY: generate
- generate: ## Run go generate
- @go generate ./...
- .PHONY: build
- build: ## Build example command lines.
- ./_example/build.sh
- .PHONY: help
- help: ## Show help text
- @echo "Commands:"
- @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-10s\033[0m %s\n", $$1, $$2}'
|