From 3e48b46e3d07ebb36008db5c7c15a0eedf81aaa1 Mon Sep 17 00:00:00 2001 From: clawbot Date: Mon, 2 Mar 2026 02:09:07 -0800 Subject: [PATCH] Makefile: add fmt-check, hooks targets; update check prereqs - Add fmt-check target for gofmt format verification without modifying files - Add hooks target to install pre-commit git hook - Update check target to include fmt-check (check: fmt-check lint test) - Remove redundant gofmt check from lint target (now in fmt-check) - Add .PHONY declarations for all phony targets - Update tools target to use go install --- Makefile | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 104c122..e3c7982 100644 --- a/Makefile +++ b/Makefile @@ -11,22 +11,30 @@ default: clean debug commit: fmt lint git commit -a -# get golangci-lint with: -# go get github.com/golangci/golangci-lint/cmd/golangci-lint@v1.31.0 -# get gofumports with: -# go get mvdan.cc/gofumpt/gofumports +# get gofumpt with: +# go install mvdan.cc/gofumpt@latest fmt: gofumpt -l -w . golangci-lint run --fix +fmt-check: + @test -z "$$(gofmt -l .)" || { echo "gofmt found unformatted files:"; gofmt -l .; exit 1; } + lint: golangci-lint run - sh -c 'test -z "$$(gofmt -l .)"' test: go test ./... -check: lint test +check: fmt-check lint test + +build: ./$(FN)d + +hooks: + @mkdir -p .git/hooks + @printf '#!/bin/sh\nmake fmt-check lint\n' > .git/hooks/pre-commit + @chmod +x .git/hooks/pre-commit + @echo "Pre-commit hook installed." debug: ./$(FN)d DEBUG=1 GOTRACEBACK=all ./$(FN)d @@ -48,5 +56,6 @@ docker: go build -o ../../$(FN)d $(GOFLAGS) . tools: - go get -v github.com/golangci/golangci-lint/cmd/golangci-lint@v1.31.0 - go get -v mvdan.cc/gofumpt/gofumports + go install mvdan.cc/gofumpt@latest + +.PHONY: default commit fmt fmt-check lint test check build hooks debug debugger run clean docker tools