Files
backend-go/Makefile
2026-02-12 14:31:30 +08:00

81 lines
1.5 KiB
Makefile

NAME=trace-backend
VERSION=1.0.0
.PHONY: all clean build test test-coverage lint run
# 默认任务
all: clean build
# 清理二进制文件
clean:
@echo "清理二进制文件..."
@if exist $(NAME).exe del $(NAME).exe
@if exist $(NAME) del $(NAME)
@if exist coverage.out del coverage.out
@if exist coverage.html del coverage.html
# 编译
build:
@echo "编译项目..."
@go build -o $(NAME).exe main.go
# 运行
run:
@echo "启动服务器..."
@go run main.go
# 测试
test:
@echo "运行测试..."
@go test -v ./tests/...
# 测试覆盖率
test-coverage:
@echo "生成测试覆盖率报告..."
@go test -v ./tests/... -coverprofile=coverage.out
@go tool cover -html=coverage.out -o coverage.html
@echo "测试覆盖率报告已生成: coverage.html"
# 代码检查
lint:
@echo "检查代码..."
@golangci-lint run ./...
# 格式化代码
fmt:
@echo "格式化代码..."
@gofmt -w .
# 导入格式化
imports:
@echo "格式化导入..."
@goimports -w .
# 代码质量检查(格式化 + 检查)
quality: fmt imports lint
# 安装依赖
deps:
@echo "安装依赖..."
@go mod tidy
# 初始化数据库
init-db:
@echo "初始化数据库..."
@go run main.go
# 编译为 Linux 版本
build-linux:
@echo "编译 Linux 版本..."
@set CGO_ENABLED=0
@set GOOS=linux
@set GOARCH=amd64
@go build -o $(NAME) main.go
# 编译为 macOS 版本
build-mac:
@echo "编译 macOS 版本..."
@set CGO_ENABLED=0
@set GOOS=darwin
@set GOARCH=arm64
@go build -o $(NAME) main.go