...

Text file src/github.com/Azure/azure-sdk-for-go/eng/scripts/Update-ModuleVersion.ps1

Documentation: github.com/Azure/azure-sdk-for-go/eng/scripts

     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