$projectRoot = $PSScriptRoot $azaVersionPy = Join-Path $projectRoot "aza_version.py" $manifestPath = Join-Path $projectRoot "release\version.json" $releaseBaseUrl = $env:AZA_RELEASE_BASE_URL if (-not (Test-Path $azaVersionPy)) { Write-Error "aza_version.py nicht gefunden: $azaVersionPy" exit 1 } Write-Host "Erzeuge release/version.json aus aza_version.py..." $versionContent = Get-Content $azaVersionPy -Raw if ($versionContent -match 'APP_VERSION\s*=\s*"([^"]+)"') { $appVersion = $matches[1].Trim() } else { Write-Error "APP_VERSION nicht in aza_version.py gefunden." exit 1 } if ($versionContent -match 'APP_CHANNEL\s*=\s*"([^"]+)"') { $appChannel = $matches[1].Trim() } else { Write-Error "APP_CHANNEL nicht in aza_version.py gefunden." exit 1 } $manifest = @{} if (Test-Path $manifestPath) { $manifest = Get-Content $manifestPath -Raw | ConvertFrom-Json } $releaseDate = if ($manifest.release_date) { $manifest.release_date } else { (Get-Date).ToString("yyyy-MM-dd") } $minVersion = if ($manifest.minimum_supported_version) { $manifest.minimum_supported_version } else { $appVersion } $downloadUrl = if ($releaseBaseUrl) { "$releaseBaseUrl/aza_desktop_setup.exe" } elseif ($manifest.download_url) { $manifest.download_url } else { "https://api.aza-medwork.ch/download/aza_desktop_setup.exe" } $installerType = if ($manifest.installer_type) { $manifest.installer_type } else { "inno-setup" } $releaseNotes = if ($manifest.release_notes) { $manifest.release_notes } else { @("Desktop-Build aktualisiert") } $newManifest = [ordered]@{ version = $appVersion channel = $appChannel release_date = $releaseDate minimum_supported_version = $minVersion download_url = $downloadUrl installer_type = $installerType release_notes = $releaseNotes } $newManifest | ConvertTo-Json -Depth 5 | Set-Content $manifestPath -Encoding UTF8 if (-not $appVersion) { Write-Error "release/version.json konnte nicht erzeugt werden." exit 1 } Write-Host "release/version.json aktualisiert." Write-Host "Version: $appVersion" if ($releaseBaseUrl) { Write-Host "Download-URL Base: $releaseBaseUrl" }