From c21b3ed1c4a68656e5ebe9d45c90623e12c20686 Mon Sep 17 00:00:00 2001 From: zhaoke Date: Thu, 25 May 2023 10:20:04 +0800 Subject: [PATCH] add build arm64 package. --- Makefile | 44 +++++++++++++++++++++++------- client/package.json | 1 + internal/pkg/service/def.go | 5 ++-- internal/pkg/service/output-sql.go | 5 ++-- 4 files changed, 41 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 3cc1854e..51ff05f4 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION=`head -n 1 VERSION` +VERSION=$(head -n 1 VERSION) PROJECT=zd ifeq ($(OS),Windows_NT) @@ -11,11 +11,7 @@ else endif endif -ifeq ($(OS),"Mac") - QINIU_DIR=/Users/aaron/work/zentao/qiniu/ -else - QINIU_DIR=~/zentao/ -endif +QINIU_DIR="${HOME}/work/zentao/qiniu/" QINIU_DIST_DIR=${QINIU_DIR}${PROJECT}/${VERSION}/ PACKAGE=${PROJECT}-${VERSION} @@ -49,16 +45,18 @@ clear: prepare_build: clear update_version_in_config gen_version_file prepare_res -win64: prepare_build compile_launcher_win64 compile_server_win64 package_gui_win64_client compile_command_win64 copy_files package package_upgrade -win32: prepare_build compile_launcher_win32 compile_server_win32 package_gui_win32_client compile_command_win32 copy_files package package_upgrade -linux: prepare_build compile_server_linux package_gui_linux_client compile_command_linux copy_files package package_upgrade -mac: prepare_build compile_server_mac package_gui_mac_client compile_command_mac copy_files package package_upgrade +win64: prepare_build compile_launcher_win64 compile_server_win64 package_gui_win64_client compile_command_win64 copy_files package package_upgrade +win32: prepare_build compile_launcher_win32 compile_server_win32 package_gui_win32_client compile_command_win32 copy_files package package_upgrade +linux: prepare_build compile_server_linux package_gui_linux_client compile_command_linux copy_files package package_upgrade +linux_arm64: prepare_build compile_server_linux_arm64 package_gui_linux_client_arm64 compile_command_linux_arm64 copy_files package package_upgrade +mac: prepare_build compile_server_mac package_gui_mac_client compile_command_mac copy_files package package_upgrade compile_all: compile_win64 compile_win32 compile_linux compile_mac compile_win64: compile_launcher_win64 compile_server_win64 package_gui_win64_client compile_command_win64 compile_win32: compile_launcher_win32 compile_server_win32 package_gui_win32_client compile_command_win32 compile_linux: compile_server_linux package_gui_linux_client compile_command_linux +compile_linux_arm64: compile_server_linux_arm64 package_gui_linux_client_arm64 compile_command_linux_arm64 compile_mac: compile_server_mac package_gui_mac_client compile_command_mac upload: upload_to @@ -108,6 +106,16 @@ endif @rm -rf "${CLIENT_OUT_DIR_UPGRADE}linux" && mkdir -p "${CLIENT_OUT_DIR_UPGRADE}linux" && \ cp ${BIN_DIR}/linux/server "${CLIENT_OUT_DIR_UPGRADE}linux/" +compile_server_linux_arm64: + @echo 'start compile server linux for arm64' + @rm -rf ${BIN_DIR}/linux_arm64/server + @CGO_ENABLED=1 GOOS=linux GOARCH=arm64 GOARM=7 CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ AR=aarch64-linux-gnu-ar \ + ${BUILD_CMD_UNIX} \ + -o ${BIN_DIR}/linux_arm64/server ${SERVER_MAIN_FILE} + + @rm -rf "${CLIENT_OUT_DIR_UPGRADE}linux_arm64" && mkdir -p "${CLIENT_OUT_DIR_UPGRADE}linux_arm64" && \ + cp ${BIN_DIR}/linux_arm64/server "${CLIENT_OUT_DIR_UPGRADE}linux_arm64/" + compile_server_mac: @echo 'start compile server mac' @CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 CC=gcc CXX=g++ \ @@ -145,6 +153,15 @@ package_gui_linux_client: @rm -rf ${CLIENT_OUT_DIR_EXECUTABLE}linux && mkdir -p ${CLIENT_OUT_DIR_EXECUTABLE}linux && \ mv ${CLIENT_OUT_DIR}${PROJECT}-linux-x64 ${CLIENT_OUT_DIR_EXECUTABLE}linux/gui +package_gui_linux_client_arm64: + @echo 'start package gui linux for arm64' + @rm -rf ${CLIENT_BIN_DIR}/* && mkdir -p ${CLIENT_BIN_DIR}linux + @cp -rf ${BIN_DIR}/linux_arm64/server ${CLIENT_BIN_DIR}linux/server + + @cd client && npm run package-linux-arm64 && cp -r icon out/${PROJECT}-linux-arm64 && cd .. + @rm -rf ${CLIENT_OUT_DIR_EXECUTABLE}linux_arm64 && mkdir -p ${CLIENT_OUT_DIR_EXECUTABLE}linux_arm64 && \ + mv ${CLIENT_OUT_DIR}${PROJECT}-linux-arm64 ${CLIENT_OUT_DIR_EXECUTABLE}linux_arm64/gui + package_gui_mac_client: @echo 'start package gui mac' @rm -rf ${CLIENT_BIN_DIR}/* && mkdir -p ${CLIENT_BIN_DIR}darwin @@ -201,6 +218,13 @@ else -o ${BIN_DIR}/linux/${PROJECT} ${COMMAND_MAIN_FILE} endif +compile_command_linux_arm64: + @echo 'start compile linux for arm64' + @rm -rf ${BIN_DIR}/linux_arm64/${PROJECT} + @CGO_ENABLED=1 GOOS=linux GOARCH=arm64 GOARM=7 CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ AR=aarch64-linux-gnu-ar \ + ${BUILD_CMD_UNIX} \ + -o ${BIN_DIR}/linux_arm64/${PROJECT} ${COMMAND_MAIN_FILE} + compile_command_mac: @echo 'start compile mac' @CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 \ diff --git a/client/package.json b/client/package.json index 618a8e33..8f228edf 100644 --- a/client/package.json +++ b/client/package.json @@ -9,6 +9,7 @@ "package": "electron-forge package", "package-mac": "npm run package -- --platform=darwin", "package-linux": "npm run package -- --platform=linux", + "package-linux-arm64": "npm run package -- --platform=linux --arch=arm64", "package-win64": "npm run package -- --platform=win32 --arch=x64", "package-win32": "npm run package -- --platform=win32 --arch=ia32", "make": "electron-forge make", diff --git a/internal/pkg/service/def.go b/internal/pkg/service/def.go index 02c46910..7d961536 100644 --- a/internal/pkg/service/def.go +++ b/internal/pkg/service/def.go @@ -1,6 +1,8 @@ package service import ( + "strings" + "github.com/easysoft/zendata/internal/pkg/domain" "github.com/easysoft/zendata/internal/pkg/helper" i118Utils "github.com/easysoft/zendata/pkg/utils/i118" @@ -9,7 +11,6 @@ import ( "github.com/easysoft/zendata/pkg/utils/vari" "github.com/fatih/color" "gopkg.in/yaml.v2" - "strings" ) type DefService struct { @@ -35,7 +36,7 @@ func (s *DefService) LoadContentDef(content []byte) (ret domain.DefData) { content = helper.ReplaceSpecialChars(content) err := yaml.Unmarshal(content, &ret) if err != nil { - logUtils.PrintToWithColor(i118Utils.I118Prt.Sprintf("fail_to_parse_file"), color.FgCyan) + logUtils.PrintToWithColor(i118Utils.I118Prt.Sprintf("fail_to_parse_file", ""), color.FgCyan) return } diff --git a/internal/pkg/service/output-sql.go b/internal/pkg/service/output-sql.go index 31715ed4..3c3dfb43 100644 --- a/internal/pkg/service/output-sql.go +++ b/internal/pkg/service/output-sql.go @@ -2,11 +2,12 @@ package service import ( "fmt" + "strings" + consts "github.com/easysoft/zendata/internal/pkg/const" "github.com/easysoft/zendata/internal/pkg/helper" logUtils "github.com/easysoft/zendata/pkg/utils/log" "github.com/easysoft/zendata/pkg/utils/vari" - "strings" ) func (s *OutputService) GenSql() { @@ -25,7 +26,7 @@ func (s *OutputService) GenSql() { valuesForSql := make([]string, 0) for j, colName := range vari.GlobalVars.ExportFields { - colVal := record[colName].(string) + colVal := fmt.Sprintf("%v", record[colName]) if !vari.GlobalVars.ColIsNumArr[j] { switch vari.GlobalVars.DBType { -- GitLab