|
|
|
@@ -31,17 +31,33 @@ try { |
|
|
|
|
|
|
|
$out = Join-Path $OutDir "roadamp.exe" |
|
|
|
|
|
|
|
Write-Host "Building roadamp $Version → $out" -ForegroundColor Cyan |
|
|
|
Write-Host "Building roadamp $Version -> $out" -ForegroundColor Cyan |
|
|
|
|
|
|
|
$env:GOOS = "windows" |
|
|
|
$env:GOARCH = "amd64" |
|
|
|
$env:CGO_ENABLED = "0" |
|
|
|
# ── Patch sw.js with build version ──────────────────────────────────────── |
|
|
|
# The service worker embeds a cache-bust token so installed PWA clients |
|
|
|
# pick up new assets after each release. We replace __BUILDVER__ in the |
|
|
|
# source file, run go build (which embeds it), then restore via git. |
|
|
|
$swPath = Join-Path $PSScriptRoot 'web\static\sw.js' |
|
|
|
$swOriginal = Get-Content $swPath -Raw |
|
|
|
try { |
|
|
|
$swPatched = $swOriginal -replace '__BUILDVER__', $Version |
|
|
|
[System.IO.File]::WriteAllText($swPath, $swPatched, [System.Text.Encoding]::UTF8) |
|
|
|
|
|
|
|
go build ` |
|
|
|
-trimpath ` |
|
|
|
-ldflags "-s -w -X main.Version=$Version" ` |
|
|
|
-o $out ` |
|
|
|
./cmd/roadamp |
|
|
|
# ── Compile ─────────────────────────────────────────────────────────── |
|
|
|
$env:GOOS = "windows" |
|
|
|
$env:GOARCH = "amd64" |
|
|
|
$env:CGO_ENABLED = "0" |
|
|
|
|
|
|
|
go build ` |
|
|
|
-trimpath ` |
|
|
|
-ldflags "-s -w -X main.Version=$Version" ` |
|
|
|
-o $out ` |
|
|
|
./cmd/roadamp |
|
|
|
} |
|
|
|
finally { |
|
|
|
# Always restore sw.js so the template token is preserved in the repo. |
|
|
|
[System.IO.File]::WriteAllText($swPath, $swOriginal, [System.Text.Encoding]::UTF8) |
|
|
|
} |
|
|
|
|
|
|
|
$size = [math]::Round((Get-Item $out).Length / 1MB, 2) |
|
|
|
Write-Host "Done $out (${size} MB)" -ForegroundColor Green |
|
|
|
|