...
1<#
2.SYNOPSIS
3Bumps up package versions after release
4
5.PARAMETER ModulePath
6The full module path for a package '/sdk/<module>' or `/sdk/<group>/<module>`
7
8.PARAMETER NewVersionString
9New version string to use. Must follow SemVer conventions.
10
11.DESCRIPTION
12This script bumps up package versions following conventions defined at https://github.com/Azure/azure-sdk/blob/main/docs/policies/releases.md#incrementing-after-release-go
13#>
14
15[CmdletBinding()]
16Param (
17 [Parameter(Mandatory=$True)]
18 [string] $ModulePath,
19 [string] $NewVersionString,
20 [string] $ReleaseDate,
21 [boolean] $ReplaceLatestEntryTitle=$false
22 )
23
24. (Join-Path $PSScriptRoot ".." common scripts common.ps1)
25
26$moduleProperties = Get-PkgProperties -PackageName $ModulePath
27
28if (!$moduleProperties)
29{
30 Write-Error "Could not find properties for module $ModulePath!"
31 exit 1
32}
33
34$incrementVersion = !$NewVersionString;
35$semVer = [AzureEngSemanticVersion]::ParseVersionString($moduleProperties.Version);
36
37if ($incrementVersion) {
38 if (!$semVer) {
39 LogError "Could not parse existing version $($moduleProperties.Version)"
40 exit 1
41 }
42
43 if ($semVer.PrereleaseLabel -ne "zzz") {
44 $semVer.PrereleaseNumber++
45 }
46 else {
47 $semVer.Patch++
48 }
49}
50else {
51 $semVer = [AzureEngSemanticVersion]::ParseVersionString($NewVersionString)
52 if (!$semVer) {
53 LogError "Could not parse given version $NewVersionString"
54 exit 1
55 }
56}
57
58Write-Verbose "New Version: $semVer"
59
60# Update version in version file.
61$versionFileContent = Get-Content -Path $moduleProperties.VersionFile -Raw
62$newVersionFileContent = $versionFileContent -replace $moduleProperties.Version, $semVer.ToString()
63$newVersionFileContent | Set-Content -Path $moduleProperties.VersionFile -NoNewline
64
65$unreleased = $incrementVersion
66$updateExisting = !$incrementVersion
67
68if ($ReplaceLatestEntryTitle) {
69 $updateExisting = $ReplaceLatestEntryTitle
70}
71
72# Update change log entry
73& "${RepoRoot}/eng/common/scripts/Update-ChangeLog.ps1" `
74 -Version $semVer.ToString() `
75 -ChangelogPath $moduleProperties.ChangeLogPath `
76 -Unreleased $unreleased `
77 -ReplaceLatestEntryTitle $updateExisting `
78 -ReleaseDate $releaseDate
79
80exit 0
View as plain text