diff --git a/Makefile b/Makefile index 14f3221..a4ca083 100644 --- a/Makefile +++ b/Makefile @@ -1,28 +1,33 @@ .PHONY: lint fmt check test +GOBIN := $(HOME)/go/bin +BIN_GOFUMPT := $(GOBIN)/gofumpt +BIN_GOIMPORTS := $(GOBIN)/goimports +BIN_LINT := $(GOBIN)/golangci-lint + # === 代码格式化 === fmt: @echo "==> gofumpt..." - @gofumpt -l -w internal/ cmd/ + @$(BIN_GOFUMPT) -l -w internal/ cmd/ @echo "==> goimports..." - @goimports -w internal/ cmd/ + @$(BIN_GOIMPORTS) -w internal/ cmd/ # === 格式检查(CI 用,只读不改) === fmt-check: @echo "==> gofumpt check..." - @test -z "$$(gofumpt -l internal/ cmd/)" || (echo "gofumpt: 以下文件格式不正确:" && gofumpt -l internal/ cmd/ && exit 1) + @test -z "$$($(BIN_GOFUMPT) -l internal/ cmd/)" || (echo "gofumpt: 以下文件格式不正确:" && $(BIN_GOFUMPT) -l internal/ cmd/ && exit 1) @echo "==> goimports check..." - @test -z "$$(goimports -l internal/ cmd/)" || (echo "goimports: 以下文件 import 不规范:" && goimports -l internal/ cmd/ && exit 1) + @test -z "$$($(BIN_GOIMPORTS) -l internal/ cmd/)" || (echo "goimports: 以下文件 import 不规范:" && $(BIN_GOIMPORTS) -l internal/ cmd/ && exit 1) # === 静态分析(报告模式,不阻断) === lint: @echo "==> golangci-lint (report only)..." - @golangci-lint run ./... || true + @$(BIN_LINT) run ./... || true # === 静态分析(阻断模式,CI 用) === lint-strict: @echo "==> golangci-lint (strict)..." - @golangci-lint run ./... + @$(BIN_LINT) run ./... # === 测试 === test: