Files
quyun-v2/backend/Makefile
2025-12-15 17:55:32 +08:00

64 lines
1.7 KiB
Makefile

buildAt=`date +%Y/%m/%d-%H:%M:%S`
gitHash=`(git log -1 --pretty=format:%H 2>/dev/null || echo "no-commit")`
version=`(git describe --tags --exact-match HEAD 2>/dev/null || git rev-parse --abbrev-ref HEAD 2>/dev/null | grep -v HEAD 2>/dev/null || echo "dev")`
# 修改为项目特定的变量路径
flags="-X 'quyun/v2/pkg/utils.Version=${version}' -X 'quyun/v2/pkg/utils.BuildAt=${buildAt}' -X 'quyun/v2/pkg/utils.GitHash=${gitHash}'"
release_flags="-w -s ${flags}"
GOPATH:=$(shell go env GOPATH)
.PHONY: tidy
tidy:
@go mod tidy
.PHONY: release
release:
@CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags=${flags} -o bin/release/v2 .
@cp config.toml bin/release/
.PHONY: build
build:
@go build -ldflags=${flags} -o bin/v2 .
.PHONY: run
run: build
@./bin/v2
.PHONY: test
test:
@go test -v ./tests/... -cover
.PHONY: info
info:
@echo "Build Information:"
@echo "=================="
@echo "Build Time: $(buildAt)"
@echo "Git Hash: $(gitHash)"
@echo "Version: $(version)"
.PHONY: lint
lint:
@golangci-lint run
.PHONY: tools
tools:
go install github.com/air-verse/air@latest
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install github.com/bufbuild/buf/cmd/buf@latest
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
go get -u go.ipao.vip/atom
go get -u google.golang.org/genproto
go get -u github.com/gofiber/fiber/v3
.PHONY: init
init: tools
@atomctl swag init
@atomctl gen enum
@atomctl gen route
@atomctl gen service
@buf generate
@go mod tidy
@go get -u
@go mod tidy