|
@@ -1,74 +1,36 @@
|
|
|
-BUILD_TIME=$(shell date "+%FZ%T")
|
|
|
-COMMIT_SHA1=$(shell git rev-parse HEAD)
|
|
|
-ct=$(shell git log -1 --format="%ct")
|
|
|
-COMMIT_TIME= $(shell date -d "1970-01-01 UTC $(ct) seconds" "+%FZ%T")
|
|
|
-GIT_TAG=$(shell git describe --exact-match HEAD 2> /dev/null)
|
|
|
-GIT_BRANCH:=$(if $(BRANCH_NAME),$(BRANCH_NAME),$(shell git rev-parse --abbrev-ref HEAD))
|
|
|
-VERSION_PACKAGE=gogs.baozhida.cn/Cold_Logistic_libs/pkg/contrib/version
|
|
|
-flags="-X $(VERSION_PACKAGE).BuildTime=${BUILD_TIME} -X $(VERSION_PACKAGE).CommitTime=${COMMIT_TIME} -X $(VERSION_PACKAGE).CommitID=${COMMIT_SHA1} -X $(VERSION_PACKAGE).GitTag=${GIT_TAG} -X $(VERSION_PACKAGE).GitBranch=${GIT_BRANCH}"
|
|
|
-
|
|
|
-GOCMD=go
|
|
|
-GOBUILD=$(GOCMD) build
|
|
|
-GOCLEAN=$(GOCMD) clean
|
|
|
-GOTEST=$(GOCMD) test
|
|
|
-GOGET=$(GOCMD) get
|
|
|
-GOGENERATE=$(GOCMD) generate
|
|
|
-GOVET=$(GOCMD) vet
|
|
|
-OS_TYPE=$(shell go env GOOS)
|
|
|
-BINARY_NAME := $(PROJECT_NAME)
|
|
|
-
|
|
|
-ifeq ($(OS_TYPE),windows)
|
|
|
- GO_OUT_EXT := .exe
|
|
|
-endif
|
|
|
-
|
|
|
-
|
|
|
-all: build_server
|
|
|
-
|
|
|
-.PHONY: build
|
|
|
+PACKAGE=Cold_Logistic
|
|
|
+PREFIX=$(shell pwd)
|
|
|
+CMD_PACKAGE=${PACKAGE}
|
|
|
+OUTPUT_DIR=${PREFIX}/cmd
|
|
|
+OUTPUT_FILE=${OUTPUT_DIR}/Cold_Logistic
|
|
|
+OUTPUT_FILE_LINUX=${OUTPUT_DIR}/linux/Cold_Logistic6270
|
|
|
+COMMIT_ID=$(shell git rev-parse --short HEAD)
|
|
|
+VERSION=$(shell git describe --tags || echo "v0.0.1")
|
|
|
+VERSION_IMPORT_PATH=github.com/lneoe/go-help-libs/version
|
|
|
+BUILD_TIME=$(shell date '+%Y-%m-%dT%H:%M:%S%Z')
|
|
|
+VCS_BRANCH=$(shell git symbolic-ref --short -q HEAD)
|
|
|
+
|
|
|
+# build args
|
|
|
+BUILD_ARGS := \
|
|
|
+ -ldflags "-X $(VERSION_IMPORT_PATH).appName=$(PACKAGE) \
|
|
|
+ -X $(VERSION_IMPORT_PATH).version=$(VERSION) \
|
|
|
+ -X $(VERSION_IMPORT_PATH).revision=$(COMMIT_ID) \
|
|
|
+ -X $(VERSION_IMPORT_PATH).branch=$(VCS_BRANCH) \
|
|
|
+ -X $(VERSION_IMPORT_PATH).buildDate=$(BUILD_TIME)"
|
|
|
+EXTRA_BUILD_ARGS=
|
|
|
build:
|
|
|
- $(GOBUILD) --ldflags ${flags} -o ./cmd/$(PROJECT_NAME)/$(BINARY_NAME)$(GO_OUT_EXT) -v ./cmd/$(PROJECT_NAME)/main.go
|
|
|
-
|
|
|
-.PHONY: test
|
|
|
-test:generate
|
|
|
- $(GOTEST) -v ./...
|
|
|
-
|
|
|
-.PHONY: clean
|
|
|
-clean:
|
|
|
- $(GOCLEAN)
|
|
|
- rm -f ./cmd/$(BINARY_NAME)
|
|
|
- rm -f ./cmd/$(BINARY_NAME)
|
|
|
-
|
|
|
-.PHONY: changelog
|
|
|
-changelog:
|
|
|
- git tag -ln --sort=taggerdate > ./CHANGELOG
|
|
|
-
|
|
|
-.PHONY: generate
|
|
|
-generate:
|
|
|
- $(GOGENERATE) -x ./...
|
|
|
-
|
|
|
-.PHONY: vet
|
|
|
-vet:
|
|
|
- $(GOVET) ./...
|
|
|
-
|
|
|
-fmt:
|
|
|
- # go install mvdan.cc/gofumpt@latest
|
|
|
- gofumpt -l -w -extra .
|
|
|
-
|
|
|
-.PHONY: swagger
|
|
|
-swagger:
|
|
|
- swag fmt
|
|
|
- swag init -g ./cmd/$(PROJECT_NAME)/main.go -o ./doc --parseDependency true
|
|
|
+ @echo "+ build"
|
|
|
+ go build $(BUILD_ARGS) $(EXTRA_BUILD_ARGS) -o ${OUTPUT_FILE} $(CMD_PACKAGE)
|
|
|
|
|
|
-# Cross compilation
|
|
|
-.PHONY: build-linux
|
|
|
build-linux:
|
|
|
- GOOS=linux GOARCH=amd64 $(GOBUILD) --ldflags ${flags} -o ./cmd/$(PROJECT_NAME)/$(BINARY_NAME) -v ./cmd/$(PROJECT_NAME)/main.go
|
|
|
+ @echo "+ build linux"
|
|
|
+ GOOS=linux GOARCH=amd64 go build $(BUILD_ARGS) $(EXTRA_BUILD_ARGS) -o ${OUTPUT_FILE_LINUX} $(CMD_PACKAGE)
|
|
|
|
|
|
-.PHONY: build-win
|
|
|
-build-win:
|
|
|
- GOOS=windows GOARCH=amd64 $(GOBUILD) --ldflags ${flags} -o ./cmd/$(PROJECT_NAME)/$(BINARY_NAME).exe -v ./cmd/$(PROJECT_NAME)/main.go
|
|
|
|
|
|
-# 编译server程序
|
|
|
-build_server :
|
|
|
- make build PROJECT_NAME:=cclogisticserver
|
|
|
+#.PHONY: test
|
|
|
+#test:
|
|
|
+# go test -v ./... -cover
|
|
|
|
|
|
+#.PHONY: docker
|
|
|
+#docker:
|
|
|
+# docker build . -t Cold_Logistic:latest
|