36 lines
872 B
Makefile
36 lines
872 B
Makefile
buildAt=`date +%Y/%m/%d-%H:%M:%S`
|
|
gitHash=`git rev-parse HEAD`
|
|
version=`git rev-parse --abbrev-ref HEAD | grep -v HEAD || git describe --exact-match HEAD || git rev-parse HEAD` ## todo: use current release git tag
|
|
flags="-X 'app/utils.Version=${version}' -X 'app/utils.BuildAt=${buildAt}' -X 'app/utils.GitHash=${gitHash}'"
|
|
|
|
GOPATH:=$(shell go env GOPATH)
|
|
|
|
.PHONY: init
|
|
init:
|
|
@go get -u google.golang.org/protobuf/proto
|
|
@go install github.com/golang/protobuf/protoc-gen-go@latest
|
|
@go install github.com/go-micro/generator/cmd/protoc-gen-micro@latest
|
|
|
|
.PHONY: proto
|
|
proto:
|
|
@protoc --proto_path=. --micro_out=. --go_out=:. proto/web_api.proto
|
|
|
|
.PHONY: update
|
|
update:
|
|
@go get -u
|
|
|
|
.PHONY: tidy
|
|
tidy:
|
|
@go mod tidy
|
|
|
|
.PHONY: build
|
|
build:
|
|
@go build -ldflags=${flags}
|
|
|
|
.PHONY: test
|
|
test:
|
|
@go test -v ./... -cover
|
|
|
|
.PHONY: docker
|
|
docker:
|
|
@docker build -t web_api:latest .
|