Files
2026-09-21 16:46:55 +08:00

32 lines
1.1 KiB
Batchfile

@echo off
setlocal
cd /d "%~dp0"
REM Prefer a typical Windows install; do not rely on where.exe (it may be missing from PATH).
if exist "%ProgramFiles%\Go\bin\go.exe" set "PATH=%ProgramFiles%\Go\bin;%PATH%"
go version >nul 2>nul
if errorlevel 1 (
echo Go is not on PATH. Install Go 1.24+ and re-run build.bat.
echo If Go is already installed, add its bin directory to PATH and open a new terminal.
exit /b 1
)
if not exist dist mkdir dist
REM rsrc_windows_amd64.syso embeds Common Controls 6 and the app icon (required by the GUI).
REM After changing cmd\tunnel\app.ico or app.manifest, regenerate (see docs\DEVELOPMENT.md):
REM go run github.com/akavel/rsrc@latest -manifest cmd\tunnel\app.manifest -ico cmd\tunnel\app.ico -arch amd64 -o cmd\tunnel\rsrc_windows_amd64.syso
REM Optional PNG-to-ICO: go run .\tools\mkico
REM Keep internal\gui\logo.png in sync with app.ico for tray / in-window icon.
set CGO_ENABLED=0
go test ./...
if errorlevel 1 exit /b 1
go build -trimpath -ldflags="-s -w" -o dist\mysql-tunnel.exe .\cmd\tunnel
if errorlevel 1 exit /b 1
echo Built dist\mysql-tunnel.exe
dir dist\mysql-tunnel.exe
endlocal