get_version.ps1 (30 lines of code) (raw):
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
param([string] $VersionPart, [string] $VersionStyle)
if ([string]::IsNullOrEmpty($VersionPart)) {
$VersionPart = "semver"
}
if ([string]::IsNullOrEmpty($VersionStyle)) {
$VersionStyle = "raw"
}
$semVerValue = Get-Content version.txt
if ($VersionPart -match "semver") {
$versionValue = $semVerValue
}
$version_parts= $($semVerValue -split '.')
if ($VersionPart -match "major") {
$versionValue = $version_parts[0]
}
if ($VersionPart -match "minor") {
$versionValue = $version_parts[1]
}
if ($VersionPart -match "patch") {
$versionValue = $version_parts[2]
}
if ($VersionStyle -match "raw") {
Write-Output $versionValue
}
if ($VersionStyle -match "ado") {
Write-Output "##vso[task.setvariable variable=${VersionPart}_version]${versionValue}"
}