Files
gosentry/scripts/package-windows.bat
mixeme 1085667d7b scripts: add portable packaging helpers for Windows and Linux (T7.1-T7.2)
package-windows.bat builds gosentry.exe then bundles it with README and
CHANGELOG into a versioned .zip via PowerShell Compress-Archive.
package-linux.sh does the same for linux-amd64 and linux-arm64 (arm64
cross-compiles via aarch64-linux-gnu-gcc; skips gracefully if absent),
producing .tar.gz archives with files at the archive root.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 22:50:06 +03:00

42 lines
1.4 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
REM Double-clicking a .bat file can start it with an arbitrary working directory.
REM Move to the repository root before using relative paths.
cd /d "%~dp0\.."
for /f "tokens=4" %%V in ('findstr /C:"var Version" src\app\version.go') do set "VERSION=%%~V"
if "%VERSION%"=="" set "VERSION=0.0.0-dev"
set "VERSION=%VERSION:"=%"
set "ARCH=windows-amd64"
set "EXE_PATH=dist\windows\gosentry-%VERSION%-%ARCH%.exe"
set "ZIP_PATH=dist\windows\gosentry-%VERSION%-%ARCH%.zip"
set "STAGING=dist\windows\_staging-%VERSION%-%ARCH%"
REM Build the Windows executable via the shared build script.
call scripts\build-windows.bat "%EXE_PATH%"
if errorlevel 1 exit /b 1
REM Assemble portable bundle in a staging directory.
if exist "%STAGING%" rmdir /s /q "%STAGING%"
mkdir "%STAGING%"
copy "%EXE_PATH%" "%STAGING%\gosentry.exe" >nul
copy README.md "%STAGING%\README.md" >nul
copy docs\CHANGELOG.md "%STAGING%\CHANGELOG.md" >nul
REM Remove any previous zip so Compress-Archive does not append to it.
if exist "%ZIP_PATH%" del /f "%ZIP_PATH%"
REM Compress the staging contents. Each file lands at the root of the zip so
REM the user can extract directly into any folder and run gosentry.exe.
powershell -NoProfile -Command "Compress-Archive -Path '%STAGING%\*' -DestinationPath '%ZIP_PATH%'"
if errorlevel 1 (
echo Compress-Archive failed. Ensure PowerShell 5+ is available.
exit /b 1
)
rmdir /s /q "%STAGING%"
echo Packaged %ZIP_PATH%