34 lines
1.0 KiB
Makefile
34 lines
1.0 KiB
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 'atom/utils.Version=${version}' -X 'atom/utils.BuildAt=${buildAt}' -X 'atom/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/backend .
|
|
@cp config.toml bin/release/
|
|
|
|
.PHONY: test
|
|
test:
|
|
@go test -v ./... -cover
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
@golangci-lint run
|
|
|
|
.PHONY: init
|
|
init:
|
|
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway
|
|
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2
|
|
go install google.golang.org/protobuf/cmd/protoc-gen-go
|
|
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc
|
|
go install github.com/bufbuild/buf/cmd/buf
|
|
go install github.com/golangci/golangci-lint/cmd/golangci-lint
|