-include .makerc .DEFAULT_GOAL:=help # --- Targets ----------------------------------------------------------------- ## === Tasks === .PHONY: doc ## Open go docs doc: @open "http://localhost:6060/pkg/github.com/foomo/contentserver/" @godoc -http=localhost:6060 -play .PHONY: test ## Run tests test: @go test -coverprofile=coverage.out -race -json ./... | gotestfmt .PHONY: test.update ## Run tests and update snapshots test.update: @go test -update -coverprofile=coverage.out -race -json ./... | gotestfmt .PHONY: lint ## Run linter lint: @golangci-lint run .PHONY: lint.fix ## Fix lint violations lint.fix: @golangci-lint run --fix .PHONY: tidy ## Run go mod tidy tidy: @go mod tidy .PHONY: outdated ## Show outdated direct dependencies outdated: @go list -u -m -json all | go-mod-outdated -update -direct ## Install binary install: @go build -o ${GOPATH}/bin/contentserver main.go ## Build binary build: @mkdir -p bin @go build -o bin/sesamy main.go ## === Utils === .PHONY: help ## Show help text help: @awk '{ \ if ($$0 ~ /^.PHONY: [a-zA-Z\-\_0-9]+$$/) { \ helpCommand = substr($$0, index($$0, ":") + 2); \ if (helpMessage) { \ printf "\033[36m%-23s\033[0m %s\n", \ helpCommand, helpMessage; \ helpMessage = ""; \ } \ } else if ($$0 ~ /^[a-zA-Z\-\_0-9.]+:/) { \ helpCommand = substr($$0, 0, index($$0, ":")); \ if (helpMessage) { \ printf "\033[36m%-23s\033[0m %s\n", \ helpCommand, helpMessage"\n"; \ helpMessage = ""; \ } \ } else if ($$0 ~ /^##/) { \ if (helpMessage) { \ helpMessage = helpMessage"\n "substr($$0, 3); \ } else { \ helpMessage = substr($$0, 3); \ } \ } else { \ if (helpMessage) { \ print "\n "helpMessage"\n" \ } \ helpMessage = ""; \ } \ }' \ $(MAKEFILE_LIST)