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 .