fix: Makefile 使用 GOBIN 绝对路径,避免 Git hook 环境 PATH 不一致
This commit is contained in:
17
Makefile
17
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:
|
||||
|
||||
Reference in New Issue
Block a user