backend/Makefile

74 lines
3.3 KiB
Makefile
Raw Normal View History

2025-09-30 16:53:31 +00:00
GO_CTL_NAME=goctl
GO_ZERO_STYLE=go_zero
GO ?= go
GOFMT ?= gofmt "-s"
GOFILES := $(shell find . -name "*.go")
LDFLAGS := -s -w
VERSION="v1.0.0"
DOCKER_REPO="refactor-service"
2025-11-12 08:17:23 +00:00
# 默認目標
.DEFAULT_GOAL := help
# 顏色定義
GREEN := \033[0;32m
YELLOW := \033[0;33m
NC := \033[0m # No Color
help: ## 顯示幫助訊息
@echo "$(GREEN)可用命令:$(NC)"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " $(YELLOW)%-20s$(NC) %s\n", $$1, $$2}'
2025-09-30 16:53:31 +00:00
.PHONY: test
2025-11-12 08:17:23 +00:00
test: ## 進行測試
2025-09-30 16:53:31 +00:00
go test -v --cover ./...
.PHONY: gen-api
2025-11-12 08:17:23 +00:00
gen-api: ## 產生 api
2025-09-30 16:53:31 +00:00
goctl api go -api ./generate/api/gateway.api -dir . -style go_zero
.PHONY: gen-doc
2025-11-12 08:17:23 +00:00
gen-doc: ## 生成 Swagger 文檔
2025-09-30 16:53:31 +00:00
# go-doc openapi --api ./generate/api/gateway.api --filename gateway.json --host dev-api.truheart.com.tw --basepath /api/v1
go-doc -a generate/api/gateway.api -d ./ -f gateway -s openapi3.0
2025-10-01 16:30:27 +00:00
.PHONY: mock-gen
2025-11-12 08:17:23 +00:00
mock-gen: ## 建立 mock 資料
2025-10-01 16:30:27 +00:00
mockgen -source=./pkg/member/domain/repository/account.go -destination=./pkg/member/mock/repository/account.go -package=mock
mockgen -source=./pkg/member/domain/repository/account_uid.go -destination=./pkg/member/mock/repository/account_uid.go -package=mock
mockgen -source=./pkg/member/domain/repository/auto_id.go -destination=./pkg/member/mock/repository/auto_id.go -package=mock
mockgen -source=./pkg/member/domain/repository/user.go -destination=./pkg/member/mock/repository/user.go -package=mock
mockgen -source=./pkg/member/domain/repository/verify_code.go -destination=./pkg/member/mock/repository/verify_code.go -package=mock
mockgen -source=./pkg/member/domain/usecase/generate_uid.go -destination=./pkg/member/mock/usecase/generate_uid.go -package=mock
2025-10-10 15:25:36 +00:00
mockgen -source=./pkg/permission/domain/repository/permission.go -destination=./pkg/permission/mock/repository/permission.go -package=mock
mockgen -source=./pkg/permission/domain/repository/role.go -destination=./pkg/permission/mock/repository/role.go -package=mock
mockgen -source=./pkg/permission/domain/repository/role_permission.go -destination=./pkg/permission/mock/repository/role_permission.go -package=mock
mockgen -source=./pkg/permission/domain/repository/user_role.go -destination=./pkg/permission/mock/repository/user_role.go -package=mock
mockgen -source=./pkg/permission/domain/repository/token.go -destination=./pkg/permission/mock/repository/token.go -package=mock
mockgen -source=./pkg/permission/domain/usecase/permission.go -destination=./pkg/permission/mock/usecase/permission.go -package=mock
mockgen -source=./pkg/permission/domain/usecase/role.go -destination=./pkg/permission/mock/usecase/role.go -package=mock
mockgen -source=./pkg/permission/domain/usecase/role_permission.go -destination=./pkg/permission/mock/usecase/role_permission.go -package=mock
mockgen -source=./pkg/permission/domain/usecase/user_role.go -destination=./pkg/permission/mock/usecase/user_role.go -package=mock
mockgen -source=./pkg/permission/domain/usecase/token.go -destination=./pkg/permission/mock/usecase/token.go -package=mock
2025-10-01 16:30:27 +00:00
@echo "Generate mock files successfully"
2025-09-30 16:53:31 +00:00
.PHONY: fmt
2025-11-12 08:17:23 +00:00
fmt: ## 格式優化
2025-09-30 16:53:31 +00:00
$(GOFMT) -w $(GOFILES)
goimports -w ./
.PHONY: run
2025-11-12 08:17:23 +00:00
run: ## 運行專案
go run geteway.go
2025-09-30 16:53:31 +00:00
.PHONY: clean
2025-11-12 08:17:23 +00:00
clean: ## 清理編譯文件
2025-09-30 16:53:31 +00:00
rm -rf bin/
.PHONY: install
2025-11-12 08:17:23 +00:00
install: ## 安裝依賴
2025-09-30 16:53:31 +00:00
go mod tidy
2025-11-12 08:17:23 +00:00
go mod download