github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/.taskjob/win64.yaml (about) 1 version: '3' 2 3 vars: 4 GOOS: $(go env GOOS) 5 GOARCH: $(go env GOARCH) 6 BIN_DIR: $(pwd)/bin 7 CLIENT_OUT_DIR: client/out 8 CLIENT_BIN_DIR: client/bin 9 CLIENT_OUT_DIR_EXECUTABLE: "{{.CLIENT_OUT_DIR}}/executable/" 10 CLIENT_OUT_DIR_UPGRADE: "{{.CLIENT_OUT_DIR}}/upgrade/" 11 QINIU_DIR: .release/qiniu 12 VERSION: 13 sh: head -n 1 VERSION 14 PROJECT: zd 15 GO_VERSION: 16 sh: go version 17 BUILD_TIME: 18 sh: git show -s --format=%cd 19 GIT_HASH: 20 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}}'" 26 27 tasks: 28 default: 29 cmds: 30 - task: clear 31 - task: build_ui 32 - task: prepare_build 33 - task: compile_all 34 - task: copy_files 35 - task: package 36 37 package: 38 desc: package 39 vars: 40 PLATFORMS: 41 sh: ls {{.CLIENT_OUT_DIR_EXECUTABLE}} 42 cmds: 43 - find . -name .DS_Store -print0 | xargs -0 rm -f 44 - for platform in {{.PLATFORMS}}; do mkdir -p {{.QINIU_DIST_DIR}}/$${platform}; done 45 - task: package_win64 46 47 package_win64: 48 desc: package win64 49 dir: "{{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/" 50 cmds: 51 - zip -ry {{.QINIU_DIST_DIR}}/win64/{{.PROJECT}}-win64.zip . 52 - md5sum {{.QINIU_DIST_DIR}}/win64/{{.PROJECT}}-win64.zip > {{.QINIU_DIST_DIR}}/win64/{{.PROJECT}}-win64.zip.md5 53 - cp -r ../../../ui ./ 54 - zip -ry {{.QINIU_DIST_DIR}}/win64/{{.PROJECT}}-win64-upgrade.zip . 55 - md5sum {{.QINIU_DIST_DIR}}/win64/{{.PROJECT}}-win64-upgrade.zip > {{.QINIU_DIST_DIR}}/win64/{{.PROJECT}}-win64-upgrade.zip.md5 56 57 copy_files: 58 desc: copy files 59 cmds: 60 - cp -r .zd.conf {{.BIN_DIR}} 61 - cp -r data {{.BIN_DIR}} 62 - cp -r yaml {{.BIN_DIR}} 63 - cp -r users {{.BIN_DIR}} 64 - cp -r demo {{.BIN_DIR}} 65 - cp -r runtime {{.BIN_DIR}} 66 - rm -rf {{.BIN_DIR}}/demo/out 67 - rm -rf {{.BIN_DIR}}/yaml/article/chinese/slang/out 68 - rm -rf {{.BIN_DIR}}/runtime/protobuf/out 69 - mkdir -p {{.BIN_DIR}}/tmp/cache 70 - sqlite3 tmp/cache/.data.db ".backup '{{.BIN_DIR}}/tmp/cache/.data.db'" 71 - sqlite3 '{{.BIN_DIR}}/tmp/cache/.data.db' ".read 'xdoc/clear-data.txt'" 72 - task: copy_files_win64 73 # - | 74 # for platform in {{.PLATFORMS}};do \ 75 # cp -r .zd.conf "{{.CLIENT_OUT_DIR_EXECUTABLE}}$${platform}"; \ 76 # cp -r bin/data "{{.CLIENT_OUT_DIR_EXECUTABLE}}$${platform}"; \ 77 # cp -r bin/runtime "{{.CLIENT_OUT_DIR_EXECUTABLE}}$${platform}"; \ 78 # cp -r bin/yaml "{{.CLIENT_OUT_DIR_EXECUTABLE}}$${platform}"; \ 79 # cp -r bin/users "{{.CLIENT_OUT_DIR_EXECUTABLE}}$${platform}"; \ 80 # cp -r bin/demo "{{.CLIENT_OUT_DIR_EXECUTABLE}}$${platform}"; \ 81 # cp -r bin/tmp "{{.CLIENT_OUT_DIR_EXECUTABLE}}$${platform}"; \ 82 # cp {{.BIN_DIR}}/$${platform}/{{.PROJECT}}.exe "{{.CLIENT_OUT_DIR_EXECUTABLE}}$${platform}" || true; \ 83 # cp {{.BIN_DIR}}/$${platform}/{{.PROJECT}} "{{.CLIENT_OUT_DIR_EXECUTABLE}}$${platform}" || true; \ 84 # cp {{.BIN_DIR}}/$${platform}/{{.PROJECT}}-gui.exe "{{.CLIENT_OUT_DIR_EXECUTABLE}}$${platform}" || true; \ 85 # done 86 # - rm -rf {{.BIN_OUT}}/linux/runtime/php 87 # - rm -rf {{.BIN_OUT}}/linux/runtime/protobuf/bin/mac 88 # - rm -rf {{.BIN_OUT}}/linux/runtime/protobuf/bin/win* 89 # - rm -rf {{.BIN_OUT}}/darwin/runtime/php 90 # - rm -rf {{.BIN_OUT}}/darwin/runtime/protobuf/bin/linux 91 # - rm -rf {{.BIN_OUT}}/darwin/runtime/protobuf/bin/win* 92 # - rm -rf {{.BIN_OUT}}/win64/runtime/protobuf/bin/linux 93 # - rm -rf {{.BIN_OUT}}/win64/runtime/protobuf/bin/mac 94 95 copy_files_win64: 96 desc: copy files win64 97 cmds: 98 - cp -r .zd.conf {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/ 99 - cp -r bin/data {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/ 100 - cp -r bin/runtime {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/ 101 - cp -r bin/yaml {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/ 102 - cp -r bin/users {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/ 103 - cp -r bin/demo {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/ 104 - cp -r bin/tmp {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/ 105 - cp {{.BIN_DIR}}/win64/{{.PROJECT}}.exe {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/ 106 - cp {{.BIN_DIR}}/win64/{{.PROJECT}}-gui.exe {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/ 107 108 compile_all: 109 desc: compile all 110 cmds: 111 - task: compile_win64 112 113 compile_win64: 114 desc: compile win64 115 cmds: 116 - task: compile_launcher_win64 117 - task: compile_server_win64 118 - task: package_gui_win64_client 119 - task: compile_command_win64 120 121 compile_command_win64: 122 desc: compile command win64 123 cmds: 124 - GOOS=windows GOARCH=amd64 go build -ldflags {{.LDFLAGS}} -o {{.BIN_DIR}}/win64/{{.PROJECT}}.exe cmd/command/main.go 125 126 package_gui_win64_client: 127 desc: package gui win64 client 128 cmds: 129 - rm -rf {{.CLIENT_BIN_DIR}}/* 130 - mkdir -p {{.CLIENT_BIN_DIR}}/win64 131 - cp -rf {{.BIN_DIR}}/win64/server.exe {{.CLIENT_BIN_DIR}}/win64/server.exe 132 - task: package_win64_client 133 - rm -rf {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64 134 - mkdir -p {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64 135 - cp -rf {{.CLIENT_BIN_DIR}}/win64 {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64 136 - mv {{.CLIENT_OUT_DIR}}/{{.PROJECT}}-win32-x64 {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/gui 137 138 package_win64_client: 139 desc: package win64 client 140 dir: client 141 cmds: 142 - npm install 143 - npm run package-win64 144 145 compile_server_win64: 146 desc: compile server win64 147 cmds: 148 - GOOS=windows GOARCH=amd64 go build -ldflags {{.LDFLAGS}} -o {{.BIN_DIR}}/win64/server.exe cmd/server/main.go 149 - rm -rf {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64 150 - mkdir -p {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64 151 - cp {{.BIN_DIR}}/win64/server.exe {{.CLIENT_OUT_DIR_EXECUTABLE}}/win64/server.exe 152 153 compile_launcher_win64_dep: 154 desc: compile launcher win64 dep 155 cmds: 156 - rsrc -arch amd64 -manifest xdoc/main.manifest -ico xdoc/favicon.ico -o cmd/launcher/main.syso 157 158 compile_launcher_win64: 159 desc: compile launcher win64 160 deps: 161 - task: compile_launcher_win64_dep 162 dir: cmd/launcher 163 cmds: 164 - GOOS=windows GOARCH=amd64 go build -ldflags {{.LDFLAGS}} -o ../../{{.BIN_DIR}}/win64/{{.PROJECT}}-gui.exe 165 166 prepare_build: 167 desc: prepare build 168 cmds: 169 - task: clear 170 - task: update_version_in_config 171 - task: gen_version_file 172 - task: prepare_res 173 174 prepare_res: 175 desc: prepare res 176 cmds: 177 - cp res/zh/sample.yaml demo/default.yaml 178 179 gen_version_file: 180 desc: gen version file 181 cmds: 182 - mkdir -p {{.QINIU_DIR}}/{{.PROJECT}} 183 184 update_version_in_config: 185 desc: update version in config 186 cmds: 187 - sed -i "s/Version.*/Version = {{.VERSION}}/" .zd.conf 188 - echo '{"version":"{{.VERSION}}"}' > {{.QINIU_DIR}}/{{.PROJECT}}/version.json 189 - echo '{{.VERSION}}' > {{.QINIU_DIR}}/{{.PROJECT}}/version.txt 190 191 build_ui: 192 desc: build ui 193 dir: ui 194 cmds: 195 - yarn install 196 - yarn build --dest ../client/ui 197 198 clear: 199 desc: clear 200 cmds: 201 - rm -rf {{.BIN_DIR}} 202 - rm -rf {{.CLIENT_OUT_DIR}} 203 status: 204 - test -d {{.BIN_DIR}} 205 - test -d {{.CLIENT_OUT_DIR}}