eng/scripts/Update-CliVersion.ps1 (40 lines of code) (raw):
param(
[string] $NewVersion
)
$CLI_VERSION_FILE = "$PSScriptRoot../../../cli/version.txt"
. "$PSScriptRoot../../common/scripts/common.ps1"
Set-StrictMode -Version 4
function getVersion {
$versionString = Get-Content $CLI_VERSION_FILE
return [AzureEngSemanticVersion]::new($versionString)
}
$version = $NewVersion
$unreleased = $false
$replaceLatestEntryTitle = $true
if (!$version) {
# Increment after release
$version = getVersion
if ($version.IsPrerelease) {
if ($version.HasValidPrereleaseLabel()) {
# 0.1.0-beta.1 -> 0.1.0-beta.2
# 1.0.0-beta.1 -> 1.0.0-beta.2
$version.PrereleaseNumber++
} else {
# 0.1.0 -> 0.2.0-beta.1
$version.Minor++
$version.PrereleaseLabel = 'beta'
$version.PrereleaseNumber = 1
}
} else {
# 1.0.0 -> 1.1.0-beta.1
$version.IncrementAndSetToPrerelease()
}
$unreleased = $true
$replaceLatestEntryTitle = $false
}
Set-Content -Path $CLI_VERSION_FILE -Value $version
. "$PSScriptRoot/../common/scripts/Update-ChangeLog.ps1" `
-Version $version.ToString() `
-ChangeLogPath "$PSScriptRoot/../../cli/azd/CHANGELOG.md" `
-Unreleased $unreleased `
-ReplaceLatestEntryTitle $replaceLatestEntryTitle