54 lines
1.7 KiB
PowerShell
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)!"
|