Files
aza/APP/backup 24.2.26/build_release_artifacts.ps1

68 lines
2.0 KiB
PowerShell
Raw Permalink Normal View History

2026-03-25 14:14:07 +01:00
$projectRoot = "C:\Users\surov\Documents\AZA\backup 24.2.26"
$desktopExe = Join-Path $projectRoot "dist\aza_desktop\aza_desktop.exe"
$installerExe = Join-Path $projectRoot "dist\installer\aza_desktop_setup.exe"
$manifestPath = Join-Path $projectRoot "release\version.json"
$reportDir = Join-Path $projectRoot "dist\release_artifacts"
$reportPath = Join-Path $reportDir "release_artifacts.json"
if (-not (Test-Path $desktopExe)) {
Write-Error "Desktop-EXE nicht gefunden: $desktopExe"
exit 1
}
if (-not (Test-Path $installerExe)) {
Write-Error "Installer nicht gefunden: $installerExe"
exit 1
}
if (-not (Test-Path $manifestPath)) {
Write-Error "Release-Manifest nicht gefunden: $manifestPath"
exit 1
}
if (-not (Test-Path $reportDir)) {
New-Item -ItemType Directory -Path $reportDir | Out-Null
}
$manifest = Get-Content $manifestPath -Raw | ConvertFrom-Json
$desktopHash = (Get-FileHash $desktopExe -Algorithm SHA256).Hash
$installerHash = (Get-FileHash $installerExe -Algorithm SHA256).Hash
$desktopItem = Get-Item $desktopExe
$installerItem = Get-Item $installerExe
$report = [ordered]@{
generated_at = (Get-Date).ToString("yyyy-MM-ddTHH:mm:ss")
version = $manifest.version
channel = $manifest.channel
release_date = $manifest.release_date
files = @(
[ordered]@{
type = "desktop_exe"
path = $desktopExe
filename = $desktopItem.Name
size_bytes = $desktopItem.Length
sha256 = $desktopHash
},
[ordered]@{
type = "installer"
path = $installerExe
filename = $installerItem.Name
size_bytes = $installerItem.Length
sha256 = $installerHash
}
)
}
$report | ConvertTo-Json -Depth 5 | Set-Content $reportPath -Encoding UTF8
Write-Host "Release-Artefakt-Report erstellt:"
Write-Host $reportPath
Write-Host ""
Write-Host "Desktop EXE SHA256:"
Write-Host $desktopHash
Write-Host ""
Write-Host "Installer SHA256:"
Write-Host $installerHash