68 lines
1.7 KiB
Makefile
68 lines
1.7 KiB
Makefile
include common.mk
|
|
include tools.mk
|
|
|
|
LDFLAGS += -X "$(MODULE)/version.Version=$(VERSION)" -X "$(MODULE)/version.CommitSHA=$(VERSION_HASH)"
|
|
|
|
## Build:
|
|
|
|
.PHONY: build
|
|
build: | build-frontend build-backend ## Build binary
|
|
|
|
.PHONY: build-frontend
|
|
build-frontend: ## Build frontend
|
|
$Q cd frontend && npm ci && npm run build
|
|
|
|
.PHONY: build-backend
|
|
build-backend: ## Build backend
|
|
$Q $(go) build -ldflags '$(LDFLAGS)' -o .
|
|
|
|
.PHONY: test
|
|
test: | test-frontend test-backend ## Run all tests
|
|
|
|
.PHONY: test-frontend
|
|
test-frontend: ## Run frontend tests
|
|
|
|
.PHONY: test-backend
|
|
test-backend: ## Run backend tests
|
|
$Q $(go) test -v ./...
|
|
|
|
.PHONY: lint
|
|
lint: lint-frontend lint-backend ## Run all linters
|
|
|
|
.PHONY: lint-frontend
|
|
lint-frontend: ## Run frontend linters
|
|
$Q cd frontend && npm ci && npm run lint
|
|
|
|
.PHONY: lint-backend
|
|
lint-backend: | $(golangci-lint) ## Run backend linters
|
|
$Q $(golangci-lint) run -v
|
|
|
|
.PHONY: lint-commits
|
|
lint-commits: $(commitlint) ## Run commit linters
|
|
$Q ./scripts/commitlint.sh
|
|
|
|
fmt: $(goimports) ## Format source files
|
|
$Q $(goimports) -local $(MODULE) -w $$(find . -type f -name '*.go' -not -path "./vendor/*")
|
|
|
|
clean: clean-tools ## Clean
|
|
|
|
## Release:
|
|
|
|
.PHONY: bump-version
|
|
bump-version: $(standard-version) ## Bump app version
|
|
$Q ./scripts/bump_version.sh
|
|
|
|
## Help:
|
|
help: ## Show this help
|
|
@echo ''
|
|
@echo 'Usage:'
|
|
@echo ' ${YELLOW}make${RESET} ${GREEN}<target> [options]${RESET}'
|
|
@echo ''
|
|
@echo 'Options:'
|
|
@$(call global_option, "V [0|1]", "enable verbose mode (default:0)")
|
|
@echo ''
|
|
@echo 'Targets:'
|
|
@awk 'BEGIN {FS = ":.*?## "} { \
|
|
if (/^[a-zA-Z_-]+:.*?##.*$$/) {printf " ${YELLOW}%-20s${GREEN}%s${RESET}\n", $$1, $$2} \
|
|
else if (/^## .*$$/) {printf " ${CYAN}%s${RESET}\n", substr($$1,4)} \
|
|
}' $(MAKEFILE_LIST)
|