-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskfile.yml
More file actions
116 lines (108 loc) · 5.63 KB
/
Taskfile.yml
File metadata and controls
116 lines (108 loc) · 5.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
version: "3"
set: [errexit, pipefail]
shopt: [globstar]
vars:
# 可执行文件扩展名
EXE_EXT:
sh: |
if [ "{{OS}}" = "windows" ]; then
echo ".exe"
else
echo ""
fi
tasks:
# build-setting 工具安装
install-build-settings-tools:
desc: "Install build settings tools"
dir: "{{.TASKFILE_DIR}}/cmd/build-setting"
vars:
PROJECT_ROOT: '{{.PROJECT_ROOT| default "." }}'
ToolsDir: '{{.ENV_BUILD_TOOLS_DOWNLOAD_DIR | default "tools/build"}}'
BUILDSET_DOC_Dir: '{{.ENV_BUILD_TARGET_DIR| default "build"}}'
cmds:
- echo "AtFrame Start - Installing build setting tool..."
- go build -o "{{.PROJECT_ROOT}}/{{.ToolsDir}}/build_setting{{.EXE_EXT}}" ./main.go
- cd "{{.PROJECT_ROOT}}/{{.ToolsDir}}" && ./build_setting{{.EXE_EXT}} init -settings-file "{{.PROJECT_ROOT}}/{{.BUILDSET_DOC_Dir}}/build-settings.json"
silent: true
# protoc 安装
install-protoc:
desc: Install specific version of protoc and related plugins
vars:
PROJECT_ROOT: '{{.PROJECT_ROOT| default "." }}'
# ToolsDir 应该从环境变量 ENV_BUILD_TOOLS_DOWNLOAD_DIR 获取,不能直接接收运行时参数
ToolsDir: '{{.ENV_BUILD_TOOLS_DOWNLOAD_DIR | default "tools/build"}}'
ProtocVersion: '{{.ENV_PROTOC_VERSION | default "32.1"}}'
ProtocGenGoVersion: '{{.ENV_PROTOC_GOPLUGIN_VERSION | default "v1.36.9"}}'
ProtocGenGoGrpcVersion: '{{.ENV_PROTOC_GOGRPCPLUGIN_VERSION | default "v1.6.0"}}'
BuildSettingDoc: '{{.ENV_BUILD_TARGET_DIR | default "build"}}'
dir: "{{.TASKFILE_DIR}}/cmd/install-protoc"
cmds:
# - echo "===== ToolsDir = {{.ToolsDir}}..."
# - echo "===== ENV_BUILD_TOOLS_DOWNLOAD_DIR = {{.ENV_BUILD_TOOLS_DOWNLOAD_DIR}}..."
# - echo "===== PROJECT_ROOT = {{.PROJECT_ROOT}}..."
# - echo "===== ENV_PROTOC_VERSION = {{.ENV_PROTOC_VERSION}}..."
# - echo "===== ENV_PROTOC_GOPLUGIN_VERSION = {{.ENV_PROTOC_GOPLUGIN_VERSION}}..."
# - echo "===== ENV_PROTOC_GOGRPCPLUGIN_VERSION = {{.ENV_PROTOC_GOGRPCPLUGIN_VERSION}}..."
- echo "AtFrame Start - Installing protoc and related plugins..."
- go run . --protoc-version {{.ProtocVersion}} --go-plugin-version {{.ProtocGenGoVersion}} --tools-dir "{{.PROJECT_ROOT}}/{{.ToolsDir}}" --settings-file "{{.PROJECT_ROOT}}/{{.BuildSettingDoc}}/build-settings.json"
silent: true
# 工具安装
install-other-tools:
desc: "Install other build tools like atdtool and xresloader"
vars:
ADTOOLS_VERSION: '{{.ENV_ADTOOLS_VERSION | default "1.0.2"}}'
XRESLOADER_VERSION: '{{.ENV_XRESLOADER_VERSION | default "2.23.4"}}'
PROJECT_ROOT: '{{.PROJECT_ROOT| default "." }}'
ToolsDir: '{{.ENV_BUILD_TOOLS_DOWNLOAD_DIR | default "tools/build"}}'
BUILDSET_DOC_DIR: '{{.ENV_BUILD_TARGET_DIR| default "build" }}'
INSTALL_PATH: '{{.ENV_BUILD_TOOLS_INSTALL_DIR | default "tools/install"}}'
ATDTOOL_EXT:
sh: |
if [ "{{OS}}" = "windows" ]; then
echo "zip"
else
echo "tar.gz"
fi
apps:
- name: "atdtool"
version: "{{.ADTOOLS_VERSION}}"
url: "https://github.com/atframework/atdtool/releases/download/v{{.ADTOOLS_VERSION}}/atdtool-{{OS}}-{{ARCH}}.{{.ATDTOOL_EXT}}"
# 可添加其他字段(如系统区分、安装路径等)
- name: "xresloader"
url: "https://github.com/xresloader/xresloader/releases/download/v{{.XRESLOADER_VERSION}}/xresloader-{{.XRESLOADER_VERSION}}.jar"
version: "{{.XRESLOADER_VERSION}}"
dir: "{{.TASKFILE_DIR}}/cmd/install-build-tools"
cmds:
- echo "AtFrame Start - Installing other build tools... "
- |
{{ range .apps }}
echo "Installing {{.name}} version {{.version}}..."
go run . --app-name {{.name}} --url {{.url}} --app-version {{.version}} --download-path "{{$.PROJECT_ROOT}}/{{$.ToolsDir}}" --install-path "{{$.PROJECT_ROOT}}/{{$.INSTALL_PATH}}" --settings-file "{{$.PROJECT_ROOT}}/{{$.BUILDSET_DOC_DIR}}/build-settings.json"
{{ end }}
- echo "Other build tools installation completed."
silent: true
# xreloader tpl 生成
generate-by-xresloader:
desc: "gernerate files by xresloader tool"
vars:
XRESCONV_XML_TPL: '{{.XRESCONV_XML_TPL | default "xresconv.xml.tpl"}}'
XRELOADER_RESOURCE: '{{.XRELOADER_RESOURCE | default "./resource"}}'
XRESCONV_XML_PATH: '{{.XRESCONV_XML_PATH | default "./resource/xresconv.xml"}}'
XRESLOADER_EXEC_PATH: '{{.XRESLOADER_EXEC_PATH | default "./xresloader.jar"}}'
XRESLOADER_RES_CONFIG_PB: '{{.XRESLOADER_RES_CONFIG_PB | default "./pbdesc/public-config.pb"}}'
XRESLOADER_BYPES_OUT: '{{.XRESLOADER_BYPES_OUT | default "./resource/excel"}}'
INPUT_EXCEL_RES_PATH: '{{.INPUT_EXCEL_RES_PATH | default "./resource/ExcelTables"}}'
BUILD_TARGET_GEN_DIR: '{{.BUILD_TARGET_GEN_DIR | default "./build/_gen"}}'
dir: "{{.TASKFILE_DIR}}/cmd/gen-xreloader-tpl"
cmds:
# - |
# echo ######### Xreloader start gen code####
# echo XRESCONV_XML_PATH: {{ .XRESCONV_XML_PATH}}
# echo XRESLOADER_EXEC_PATH: {{ .XRESLOADER_EXEC_PATH}}
# echo XRESLOADER_RES_CONFIG_PB: {{ .XRESLOADER_RES_CONFIG_PB}}
# echo XRESLOADER_BYPES_OUT: {{ .XRESLOADER_BYPES_OUT}}
# echo INPUT_EXCEL_RES_PATH: {{ .INPUT_EXCEL_RES_PATH}}
# echo BUILD_TARGET_GEN_DIR : {{ .BUILD_TARGET_GEN_DIR}}
- |
go run . "{{ .XRESCONV_XML_TPL}}" "{{.XRELOADER_RESOURCE}}" "{{.XRESCONV_XML_PATH}}" "{{.XRESLOADER_EXEC_PATH}}" "{{.XRESLOADER_RES_CONFIG_PB}}" "{{.XRESLOADER_BYPES_OUT}}" "{{.INPUT_EXCEL_RES_PATH}}" "{{.BUILD_TARGET_GEN_DIR}}"
silent: true