Files
TIS_RMS/frontend/build_release.ps1
T

54 lines
1.7 KiB
PowerShell

param (
[switch]$patch,
[switch]$minor,
[switch]$major,
[switch]$buildOnly
)
$ErrorActionPreference = 'Stop'
Write-Host "Bumping release version..."
if ($major) {
dart run cider bump major --bump-build
} elseif ($minor) {
dart run cider bump minor --bump-build
} elseif ($buildOnly) {
dart run cider bump build
} else {
# Default to bumping patch version and build number on every release
dart run cider bump patch --bump-build
}
# Read newly bumped version from pubspec.yaml
$versionLine = Get-Content pubspec.yaml | Select-String '^version:' | Select-Object -First 1
if (-not $versionLine) {
throw "Could not find version: in pubspec.yaml"
}
$rawVer = ($versionLine.Line -split ':', 2)[1].Trim()
$verParts = $rawVer.Split('+')
$verName = $verParts[0]
$buildNumber = if ($verParts.Length -ge 2) { $verParts[1] } else { "1" }
Write-Host "New Version : $verName"
Write-Host "Build Number: $buildNumber"
# Sync msix_version in pubspec.yaml
$msixVer = "$verName.$buildNumber"
$pubspecContent = Get-Content pubspec.yaml
$updatedPubspec = $pubspecContent -replace '^\s*msix_version:.*', " msix_version: $msixVer"
Set-Content -Path pubspec.yaml -Value $updatedPubspec -Encoding utf8
Write-Host "Version bumped successfully to $verName+$buildNumber!"
Write-Host "Building for Android..."
flutter build apk --release --obfuscate --split-debug-info=build/app/outputs/symbols --build-name=$verName --build-number=$buildNumber
Write-Host "Building for Windows..."
flutter build windows --release --obfuscate --split-debug-info=build/windows/symbols --build-name=$verName --build-number=$buildNumber
Write-Host "Building MSIX..."
dart run msix:create
Write-Host "Build complete for version $verName (Build $buildNumber)!"