123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # Targets:
- #
- # all: Builds the code locally after testing
- #
- # fmt: Formats the source files
- # fmt-check: Check if the source files are formated
- # build: Builds the code locally
- # vet: Vets the code
- # staticcheck: Runs staticcheck over the code
- # test: Runs the tests
- # cover: Gives you the URL to a nice test coverage report
- #
- # install: Builds, tests and installs the code locally
- GOFILES_NOVENDOR = $(shell find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./.git/*")
- .PHONY: all fmt build vet lint test cover install
- # The first target is always the default action if `make` is called without
- # args we build and install into $GOPATH so that it can just be run
- all: fmt vet test install
- fmt:
- @gofmt -s -w ${GOFILES_NOVENDOR}
- fmt-check:
- @([ -z "$(shell gofmt -d $(GOFILES_NOVENDOR) | head)" ]) || (echo "Source is unformatted"; exit 1)
- build:
- @go build
- vet:
- @go vet
- staticcheck:
- @staticcheck ./...
- test:
- @go test -v ./...
- cover: COVERAGE_FILE := coverage.out
- cover:
- @go test -coverprofile=$(COVERAGE_FILE) && \
- go tool cover -html=$(COVERAGE_FILE) && rm $(COVERAGE_FILE)
- install:
- @go install ./...
|