123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- SHELL=cmd
- .PHONY: all clean check lint cover build_api_win build_rpc_win help
- all:clean check cover
- modInit: go mod init userCenter
- modTidy: go mod tidy
- genRpc:
- cd rpc && goctl rpc protoc userCenter.proto --go_out=. --go-grpc_out=. --zrpc_out=.
- @echo "===========> genRpc finish"
- genApi:
- cd api/ && goctl api go -api userCenter.api -dir .
- @echo "===========> genApi finish"
- #格式化动作
- check:
- #格式化代码
- go fmt ./
- @echo "===========> fmt finish"
- #一般错误检查
- go vet ./
- @echo "===========> vet finish"
- #会把指定代码包的所有Go语言源码文件中的旧版本代码修正为新版本的代码。这里所说的版本即Go语言的版本
- go fix ./
- @echo "===========> fix finish"
- #跑静态分析
- lint:
- golangcli-lint run --enable-all
- #定义变量
- API_LINUX_FILE=./api/usercenter_linux
- API_WIN_FILE=./api/usercenter.exe
- RPC_LINUX_FILE=./rpc/usercenter_linux
- RPC_WIN_FILE=./rpc/usercenter.exe
- #编译api--linux
- build_api_linux:
- SET GOARCH=amd64
- SET GOOS=linux
- go build -ldflags="-s -w" -o ${API_LINUX_FILE} ./api/usercenter.go
- #编辑api--win
- build_api_win:
- @echo "===========> windows go build api "
- go build -ldflags="-s -w" -o ${API_WIN_FILE} ./api/usercenter.go
- #编译rpc--linux
- build_rpc_linux:
- SET GOOS=linux
- SET GOARCH=amd64
- go build -ldflags="-s -w" -o ${RPC_LINUX_FILE} ./rpc/usercenter.go
- #编辑rpc--win
- build_rpc_win:
- @echo "===========> windows go build rpc "
- go build -ldflags="-s -w" -o ${RPC_WIN_FILE} ./rpc/usercenter.go
- #单元测试覆盖率
- cover:
- @echo "===========> Run go test "
- cd service/ && go test -v -covermode=set -coverprofile=test_cover.out && go tool cover -html=test_cover.out -o coverage.html
- #清理
- clean:
- go clean
- cd rpc && del *.exe
- cd api && del *.exe
- #显示帮助
- help:
- @echo "make all 执行"
- @echo "make modInit 初始化go.mod文件"
- @echo "make modTidy 更新go.mod"
- @echo "make genRpc 初始rpc"
- @echo "make genApi 初始化api"
- @echo "make check fmt、vet、fix代码静态检查"
- @echo "make lint lint代码静态走查"
- @echo "make build_api_mac 编译api->Mac可执行文件"
- @echo "make build_api_linux 编译api->Linux可执行文件"
- @echo "make build_api_win 编译api->windows可执行文件"
- @echo "make build_rpc_mac 编译rpc->Mac可执行文件"
- @echo "make build_rpc_linux 编译rpc->Linux可执行文件"
- @echo "make build_rpc_win 编译rpc->windows可执行文件"
- @echo "make cover 单元测试用例覆盖率"
- @echo "make clean 清理"
|