winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 91fd4d6b6502d252c2a0f09edd5849c5cae05d41
parent 1649771ae17c27a6b3965f9438bd719e5575af21
Author: yao-msft <50888816+yao-msft@users.noreply.github.com>
Date:   Thu,  5 Jan 2023 10:25:41 -0800

UpdateBinVer script support for updating build version only (#2818)


Diffstat:
Msrc/binver/Update-BinVer.ps1 | 30++++++++++++++++++++++++------
1 file changed, 24 insertions(+), 6 deletions(-)

diff --git a/src/binver/Update-BinVer.ps1 b/src/binver/Update-BinVer.ps1 @@ -8,13 +8,16 @@ The file to update with version information. If not given, simply outputs the version info. .PARAMETER BuildVersion The build version to use. +.PARAMETER MajorMinorOverride + The major and minor version in the format of Major.Minor to use. + Or skip to skip the major and minor version override. .PARAMETER OutVar Output a pipeline variable with the version. #> param( [Parameter(Mandatory=$false)] [string]$TargetFile, - + [Parameter(Mandatory=$false)] [int]$BuildVersion = 0, @@ -26,19 +29,27 @@ param( $Local:Major = 0; $Local:Minor = 0; +$Local:SkipMajorMinorOverride = $false; if ($MajorMinorOverride -match "([0-9]+)\.([0-9]+)") { $Local:Major = $Matches[1] $Local:Minor = $Matches[2] } -else { +elseif ($MajorMinorOverride -eq "skip") +{ + $Local:SkipMajorMinorOverride = $true; + + Write-Host "Major minor version override skipped" +} +else +{ $ErrorActionPreference = 'SilentlyContinue' $Local:GitDescribeText = git describe --tags; $ErrorActionPreference = 'Continue' Write-Host "Git describe: $Local:GitDescribeText" - + if ($Local:GitDescribeText -match "v([0-9]+)\.([0-9]+)") { $Local:Major = $Matches[1] @@ -50,7 +61,14 @@ else { } } -Write-Host "Using version: $Local:Major.$Local:Minor.$BuildVersion" +if ($Local:SkipMajorMinorOverride) +{ + Write-Host "Using build version only: $BuildVersion" +} +else +{ + Write-Host "Using version: $Local:Major.$Local:Minor.$BuildVersion" +} if ($OutVar) { @@ -66,11 +84,11 @@ if (![String]::IsNullOrEmpty($TargetFile)) $Local:ResultContent = "" foreach ($Local:line in [System.IO.File]::ReadLines($Local:FullPath)) { - if ($Local:line.StartsWith("#define VERSION_MAJOR")) + if (-Not($Local:SkipMajorMinorOverride) -And $Local:line.StartsWith("#define VERSION_MAJOR")) { $Local:ResultContent += "#define VERSION_MAJOR $Local:Major"; } - elseif ($Local:line.StartsWith("#define VERSION_MINOR")) + elseif (-Not($Local:SkipMajorMinorOverride) -And $Local:line.StartsWith("#define VERSION_MINOR")) { $Local:ResultContent += "#define VERSION_MINOR $Local:Minor"; }