New features: - Task comments with date-stamped entries and last-comment summary - Recurring tasks expanded on calendar (daily/weekly/monthly/yearly) - System tray mode replacing CMD window (Windows/macOS/Linux) - Ironpad logo as exe icon, tray icon, favicon, and header logo Technical changes: - Backend restructured for dual-mode: dev (API-only) / prod (tray + server) - tray-item crate for cross-platform tray, winresource for icon embedding - Calendar view refactored with CalendarEntry interface for recurring merging - Added CHANGELOG.md, build-local.ps1, version bumped to 0.2.0 Co-authored-by: Cursor <cursoragent@cursor.com>
41 lines
1.5 KiB
PowerShell
41 lines
1.5 KiB
PowerShell
# build-local.ps1 — Build a local release package for testing
|
|
# Creates: release/ironpad.exe + release/static/
|
|
# Usage: .\build-local.ps1
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
$root = $PSScriptRoot
|
|
|
|
Write-Host "`n=== Ironpad Local Build ===" -ForegroundColor Cyan
|
|
|
|
# 1. Build frontend
|
|
Write-Host "`n[1/4] Building frontend..." -ForegroundColor Yellow
|
|
Push-Location "$root\frontend"
|
|
npm run build
|
|
if ($LASTEXITCODE -ne 0) { Pop-Location; throw "Frontend build failed" }
|
|
Pop-Location
|
|
|
|
# 2. Build backend (release)
|
|
Write-Host "`n[2/4] Building backend (release)..." -ForegroundColor Yellow
|
|
Push-Location "$root\backend"
|
|
cargo build --release
|
|
if ($LASTEXITCODE -ne 0) { Pop-Location; throw "Backend build failed" }
|
|
Pop-Location
|
|
|
|
# 3. Assemble release folder
|
|
Write-Host "`n[3/4] Assembling release folder..." -ForegroundColor Yellow
|
|
$releaseDir = "$root\release"
|
|
if (Test-Path $releaseDir) { Remove-Item -Recurse -Force $releaseDir }
|
|
New-Item -ItemType Directory -Path $releaseDir | Out-Null
|
|
New-Item -ItemType Directory -Path "$releaseDir\static" | Out-Null
|
|
|
|
Copy-Item "$root\backend\target\release\ironpad.exe" "$releaseDir\ironpad.exe"
|
|
Copy-Item "$root\frontend\dist\*" "$releaseDir\static\" -Recurse
|
|
|
|
# 4. Done
|
|
$size = [math]::Round((Get-Item "$releaseDir\ironpad.exe").Length / 1MB, 1)
|
|
Write-Host "`n[4/4] Done!" -ForegroundColor Green
|
|
Write-Host " Binary: $releaseDir\ironpad.exe ($size MB)"
|
|
Write-Host " Static: $releaseDir\static\"
|
|
Write-Host "`nTo run: cd release && .\ironpad.exe" -ForegroundColor Cyan
|
|
Write-Host "(Tray icon will appear - right-click for menu)`n"
|