Skip to content

Commit 36026ae

Browse files
committed
fix(build): imp makefile
1 parent 1edb9ba commit 36026ae

File tree

5 files changed

+107
-45
lines changed

5 files changed

+107
-45
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
/ui/package-lock.json
3232
/demo/mock/output/
3333
/upload/
34-
/tmp/cache/.data.db
3534
/tmp/.temp.yaml
3635
/tmp/.default.yaml
3736
/tmp/.config.yaml

.zd.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
Version =
1+
Version = 3.1
22
Language = zh
33

Makefile

Lines changed: 25 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,26 @@
1-
VERSION=$(head -n 1 VERSION)
2-
PROJECT=zd
3-
4-
ifeq ($(OS),Windows_NT)
5-
OS="Windows"
6-
else
7-
ifeq ($(shell uname),Darwin)
8-
OS="Mac"
9-
else
10-
OS="Unix"
11-
endif
12-
endif
13-
14-
QINIU_DIR="${HOME}/work/zentao/qiniu/"
15-
16-
QINIU_DIST_DIR=${QINIU_DIR}${PROJECT}/${VERSION}/
17-
PACKAGE=${PROJECT}-${VERSION}
18-
BIN_DIR=bin
19-
BIN_ZIP_DIR=${BIN_DIR}/zip/${PROJECT}/${VERSION}/
20-
BIN_OUT=${BIN_DIR}/${PROJECT}/${VERSION}/
21-
CLIENT_OUT_DIR=client/out/
22-
23-
CLIENT_BIN_DIR=client/bin/
24-
CLIENT_OUT_DIR=client/out/
25-
CLIENT_OUT_DIR_EXECUTABLE=${CLIENT_OUT_DIR}executable/
26-
CLIENT_OUT_DIR_UPGRADE=${CLIENT_OUT_DIR}upgrade/
27-
28-
CLIENT_UI_DIR=client/ui/
29-
30-
COMMAND_MAIN_DIR=cmd/command/
31-
COMMAND_MAIN_FILE=${COMMAND_MAIN_DIR}main.go
32-
33-
SERVER_MAIN_FILE=cmd/server/main.go
34-
35-
BUILD_TIME=`git show -s --format=%cd`
36-
GO_VERSION=`go version`
37-
GIT_HASH=`git show -s --format=%H`
38-
BUILD_CMD_UNIX=go build -ldflags "-X 'main.AppVersion=${VERSION}' -X 'main.BuildTime=${BUILD_TIME}' -X 'main.GoVersion=${GO_VERSION}' -X 'main.GitHash=${GIT_HASH}'"
39-
BUILD_CMD_WIN=go build -ldflags "-s -w -X 'main.AppVersion=${VERSION}' -X 'main.BuildTime=${BUILD_TIME}' -X 'main.GoVersion=${GO_VERSION}' -X 'main.GitHash=${GIT_HASH}'"
1+
.EXPORT_ALL_VARIABLES:
2+
VERSION := $(shell head -n 1 VERSION)
3+
PROJECT := zd
4+
QINIU_DIR := "${HOME}/work/zentao/qiniu/"
5+
QINIU_DIST_DIR := ${QINIU_DIR}${PROJECT}/${VERSION}/
6+
PACKAGE := ${PROJECT}-${VERSION}
7+
BIN_DIR := bin
8+
BIN_ZIP_DIR := ${BIN_DIR}/zip/${PROJECT}/${VERSION}/
9+
BIN_OUT := ${BIN_DIR}/${PROJECT}/${VERSION}/
10+
CLIENT_OUT_DIR := client/out/
11+
CLIENT_BIN_DIR := client/bin/
12+
CLIENT_OUT_DIR := client/out/
13+
CLIENT_OUT_DIR_EXECUTABLE := ${CLIENT_OUT_DIR}executable/
14+
CLIENT_OUT_DIR_UPGRADE := ${CLIENT_OUT_DIR}upgrade/
15+
CLIENT_UI_DIR := client/ui/
16+
COMMAND_MAIN_DIR := cmd/command/
17+
COMMAND_MAIN_FILE := ${COMMAND_MAIN_DIR}main.go
18+
SERVER_MAIN_FILE := cmd/server/main.go
19+
BUILD_TIME := $(shell git show -s --format=%cd)
20+
GO_VERSION := $(go version)
21+
GIT_HASH := $(git show -s --format=%H)
22+
BUILD_CMD_UNIX := go build -ldflags "-X 'main.AppVersion=${VERSION}' -X 'main.BuildTime=${BUILD_TIME}' -X 'main.GoVersion=${GO_VERSION}' -X 'main.GitHash=${GIT_HASH}'"
23+
BUILD_CMD_WIN := go build -ldflags "-s -w -X 'main.AppVersion=${VERSION}' -X 'main.BuildTime=${BUILD_TIME}' -X 'main.GoVersion=${GO_VERSION}' -X 'main.GitHash=${GIT_HASH}'"
4024

4125
default: clear build_ui prepare_build compile_all copy_files package package_upgrade
4226
clear:
@@ -292,11 +276,9 @@ package_upgrade:
292276
done
293277

294278
update_version_in_config:
295-
ifeq ($(OS),"Mac")
296-
@gsed -i "s/Version.*/Version = ${VERSION}/" .zd.conf
297-
else
279+
@echo 'update version in config ${VERSION}'
280+
@echo 'gen version'
298281
@sed -i "s/Version.*/Version = ${VERSION}/" .zd.conf
299-
endif
300282

301283
gen_version_file:
302284
@echo 'gen version'

Taskfile.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,24 @@ version: '3'
55
vars:
66
GOOS: $(go env GOOS)
77
GOARCH: $(go env GOARCH)
8+
BIN_DIR: bin
9+
CLIENT_OUT_DIR: client/out
10+
CLIENT_BIN_DIR: client/bin
11+
QINIU_DIR: .release/qiniu
812
VERSION:
913
sh: head -n 1 VERSION
1014
PROJECT: zd
15+
GO_VERSION:
16+
sh: go version
1117
BUILD_TIME:
1218
sh: git show -s --format=%cd
1319
GIT_HASH:
1420
sh: git show -s --format=%H
21+
LDFLAGS: "-w -s \
22+
-X 'main.AppVersion={{.VERSION}}' \
23+
-X 'main.BuildTime={{.BUILD_TIME}}' \
24+
-X 'main.GoVersion={{.GO_VERSION}' \
25+
-X 'main.GitHash={{.GIT_HASH}}'"
1526

1627
tasks:
1728
gofmt:
@@ -35,3 +46,73 @@ tasks:
3546
desc: build ui
3647
cmds:
3748
- cd ui && yarn install && yarn build --dest ../client/ui
49+
50+
clear:
51+
desc: clear
52+
cmds:
53+
- rm -rf {{.BIN_DIR}}
54+
- rm -rf {{.CLIENT_OUT_DIR}}
55+
56+
update_version_in_config:
57+
desc: update_version_in_config
58+
cmds:
59+
- sed -i "s/Version.*/Version = {{.VERSION}}/" .zd.conf
60+
61+
gen_version_file:
62+
desc: gen_version_file
63+
cmds:
64+
- echo 'gen version'
65+
- mkdir -p {{.QINIU_DIR}}/{{.PROJECT}}/
66+
- echo '{"version":"{{.VERSION}}"}' > {{.QINIU_DIR}}/{{.PROJECT}}/version.json
67+
68+
prepare_res:
69+
desc: prepare_res
70+
cmds:
71+
- echo 'start prepare res'
72+
- cp res/zh/sample.yaml demo/default.yaml
73+
- rm -rf {{.BIN_DIR}}
74+
75+
prepare_build:
76+
desc: prepare_build
77+
cmds:
78+
- task: clear
79+
- task: update_version_in_config
80+
- task: gen_version_file
81+
- task: prepare_res
82+
83+
compile_all:
84+
desc: compile_all
85+
cmds:
86+
- task: compile_linux
87+
88+
compile_linux:
89+
desc: compile_linux
90+
cmds:
91+
- task: compile_server_linux
92+
- task: package_gui_linux_client
93+
- task: compile_command_linux
94+
95+
compile_server_linux:
96+
desc: compile_server_linux
97+
cmds:
98+
- echo 'start compile server linux'
99+
- rm -rf {{.BIN_DIR}}/linux/server
100+
- GOOS=linux GOARCH=amd64 go build -ldflags "{{.LDFLAGS}}" -o {{.BIN_DIR}}/linux/server cmd/server/main.go
101+
102+
package_gui_linux_client:
103+
desc: package_gui_linux_client
104+
cmds:
105+
- echo 'start package gui linux'
106+
- rm -rf {{.CLIENT_BIN_DIR}}/* && mkdir -p {{.CLIENT_BIN_DIR}}linux
107+
- cp -rf {{.BIN_DIR}}/linux/server {{.CLIENT_BIN_DIR}}linux/server
108+
- cd client && npm run package-linux && cp -r icon out/{{.PROJECT}}-linux-x64 && cd ..
109+
110+
default:
111+
cmds:
112+
- task: clear
113+
- task: build_ui
114+
- task: prepare_build
115+
- task: compile_all
116+
- task: copy_files
117+
- task: package
118+
- task: package_upgrade

tmp/cache/.data.db

25.2 MB
Binary file not shown.

0 commit comments

Comments
 (0)