Files
zhub/build.bat
绝尘 44d4fcdbc4 更新:1、依赖升级
2、module 名称地址
2025-10-06 00:46:51 +08:00

119 lines
2.6 KiB
Batchfile
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@echo off
chcp 65001 >nul
title zhub 构建脚本
rem 获取当前日期和时间并格式化为 YYYY.MM.DD-HH.MM.SS
for /f "tokens=2 delims==" %%i in ('wmic os get localdatetime /value') do set datetime=%%i
set year=%datetime:~0,4%
set month=%datetime:~4,2%
set day=%datetime:~6,2%
set hour=%datetime:~8,2%
set minute=%datetime:~10,2%
set second=%datetime:~12,2%
set version=%year%.%month%.%day%-%hour%.%minute%.%second%
rem 输出当前版本号
echo 当前构建版本号:%version%
rem 删除旧文件
echo 删除历史构建文件...
del /q zhub zhub.sh zhub.exe >nul 2>nul
rem 交互式平台选择
echo ==============================
echo 请选择要构建的平台:
echo ==============================
echo 1. Linux (amd64)
echo 2. Linux (arm64)
echo 3. Windows (amd64)
echo 4. MacOS (amd64)
echo 5. 全部构建
echo 0. 退出
echo ==============================
set /p choice=请输入选项编号(可多选,例如 135:
if "%choice%"=="0" goto end
if not "%choice%"=="" (
echo 开始构建版本 %version%...
)
if "%choice%"=="1" (
call :build_linux
)
if "%choice%"=="2" (
call :build_linux_arm
)
if "%choice%"=="3" (
call :build_windows
)
if "%choice%"=="4" (
call :build_mac
)
if "%choice%"=="5" (
call :build_linux
call :build_linux_arm
call :build_windows
call :build_mac
)
goto end
rem ========= 构建平台函数 ==========
:build_linux
echo [Linux amd64] 开始构建...
set GOOS=linux
set GOARCH=amd64
go build -o zhub.sh -ldflags "-s -w -X 'zhub/internal/monitor.Version=%version%'"
upx -9 zhub.sh
call :move_to_dist zhub.sh linux
goto :eof
:build_linux_arm
echo [Linux arm64] 开始构建...
set GOOS=linux
set GOARCH=arm64
go build -o zhub.sh -ldflags "-s -w -X 'zhub/internal/monitor.Version=%version%'"
upx -9 zhub.sh
call :move_to_dist zhub.sh linux-arm
goto :eof
:build_windows
echo [Windows amd64] 开始构建...
set GOOS=windows
set GOARCH=amd64
go build -o zhub.exe -ldflags "-s -w -X 'zhub/internal/monitor.Version=%version%'"
upx -9 zhub.exe
call :move_to_dist zhub.exe windows
goto :eof
:build_mac
echo [MacOS amd64] 开始构建...
set GOOS=darwin
set GOARCH=amd64
go build -o zhub -ldflags "-s -w -X 'zhub/internal/monitor.Version=%version%'"
upx -9 zhub
call :move_to_dist zhub mac
goto :eof
rem ========= 移动构建文件 ==========
:move_to_dist
setlocal
set file=%1
set platform=%2
set target=dist\%version%\%platform%
if not exist %target% (
mkdir %target%
)
move /Y %file% %target%\ >nul
echo 构建产物已移动至:%target%\%file%
endlocal
goto :eof
:end
echo 构建流程结束。
pause
exit