52 lines
1.4 KiB
PowerShell
52 lines
1.4 KiB
PowerShell
# ============================================
|
||
# Analog System Monitor – Release Script
|
||
# Creates a clean, single-file Windows build
|
||
# ============================================
|
||
|
||
param(
|
||
[string]$Version = "1.0.0"
|
||
)
|
||
|
||
$ErrorActionPreference = "Stop"
|
||
|
||
Write-Host "=== Analog System Monitor Release Script ==="
|
||
Write-Host "Version: $Version"
|
||
Write-Host ""
|
||
|
||
# Paths
|
||
$project = "analog_system_monitor.csproj"
|
||
$releaseDir = "release\$Version"
|
||
|
||
# Clean old release
|
||
if (Test-Path $releaseDir) {
|
||
Write-Host "Cleaning old release directory..."
|
||
Remove-Item -Recurse -Force $releaseDir
|
||
}
|
||
|
||
# Ensure release directory exists
|
||
New-Item -ItemType Directory -Force -Path $releaseDir | Out-Null
|
||
|
||
Write-Host "Restoring packages..."
|
||
dotnet restore $project
|
||
|
||
Write-Host "Cleaning project..."
|
||
dotnet clean $project -c Release
|
||
|
||
Write-Host "Publishing single-file executable..."
|
||
dotnet publish $project `
|
||
-c Release `
|
||
-r win-x64 `
|
||
--self-contained true `
|
||
/p:PublishSingleFile=true `
|
||
/p:IncludeNativeLibrariesForSelfExtract=true `
|
||
/p:DebugType=None `
|
||
/p:DebugSymbols=false `
|
||
/p:Version=$Version `
|
||
-o "$releaseDir"
|
||
|
||
Write-Host ""
|
||
Write-Host "============================================"
|
||
Write-Host " Release build completed successfully"
|
||
Write-Host " Output folder: $releaseDir"
|
||
Write-Host "============================================"
|