MAKEFILE_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) include $(MAKEFILE_DIR)/common.mk GO_MODULE := $(shell GOWORK=off go list -m) .PHONY: test test: TESTER ?= $(REPO_OUTPUT_BIN)/gotestsum test: FORMAT ?= pkgname test: ARGS ?= test: install-gotestsum $(TESTER) --format $(FORMAT) $(ARGS) ./... .PHONY: generate-mock generate-mock: GEN_DIR ?= ./... generate-mock: install-mockgen go mod tidy GOBIN=$(REPO_OUTPUT_BIN) GO_MODULE=$(GO_MODULE) go generate $(GEN_DIR) install-lint: GOBIN=$(REPO_OUTPUT_BIN) go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.11.4 install-mockgen: GOBIN=$(REPO_OUTPUT_BIN) go install go.uber.org/mock/mockgen@v0.6.0 install-gotestsum: GOBIN=$(REPO_OUTPUT_BIN) go install gotest.tools/gotestsum@v1.13.0 install-swag: GOBIN=$(REPO_OUTPUT_BIN) go install github.com/swaggo/swag/cmd/swag@v1.16.6 install-swagger: GOBIN=$(REPO_OUTPUT_BIN) go install github.com/go-swagger/go-swagger/cmd/swagger@v0.33.2 build-%: OUTPUT_DIR ?= $(REPO_OUTPUT_BIN) build-%: BUILD_NAME ?= $* build-%: BUILD_DIR ?= build-%: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o $(OUTPUT_DIR)/$(BUILD_NAME) -ldflags "-s -w" $(GO_MODULE)/$(BUILD_DIR)