Files

54 lines
1.7 KiB
PowerShell

# ============================================
# Build Release Single-File EXE for Analog System Monitor
# Output directory: ./release/
# ============================================
Write-Host "=== Analog System Monitor Release Build ===" -ForegroundColor Cyan
# Ensure script runs from project directory
$project = "analog_system_monitor.csproj"
if (!(Test-Path $project)) {
Write-Host "Error: Telemetry.csproj not found in this directory." -ForegroundColor Red
exit 1
}
# Clean previous builds
Write-Host "Cleaning previous build artifacts..."
dotnet clean -c Release
# Publish using settings from the .csproj
Write-Host "Publishing Release build..."
dotnet publish -c Release
# Determine publish folder
$publishDir = Join-Path "bin" "Release\net10.0-windows\win-x64\publish"
if (!(Test-Path $publishDir)) {
Write-Host "Error: Publish directory not found." -ForegroundColor Red
exit 1
}
# Custom output directory
$releaseDir = Join-Path (Get-Location) "release"
# Create directory if missing
if (!(Test-Path $releaseDir)) {
Write-Host "Creating release directory..."
New-Item -ItemType Directory -Path $releaseDir | Out-Null
}
# Copy all published files to ./release/
Write-Host "Copying published files to ./release/ ..."
Copy-Item -Path "$publishDir\*" -Destination $releaseDir -Recurse -Force
Write-Host "Build completed successfully!" -ForegroundColor Green
Write-Host "Release output: $releaseDir"
# List produced files
Write-Host "`nRelease files:"
Get-ChildItem $releaseDir | Format-Table Name, Length
# Open folder in Explorer
Write-Host "`nOpening release folder..."
Start-Process explorer.exe $releaseDir