27 lines
984 B
PowerShell
27 lines
984 B
PowerShell
#
|
|
# Get-UmbracoVersion
|
|
# Gets the Umbraco version
|
|
#
|
|
function Get-UmbracoVersion
|
|
{
|
|
$uenv = Get-UmbracoBuildEnv
|
|
|
|
# parse SolutionInfo and retrieve the version string
|
|
$filepath = "$($uenv.SolutionRoot)\src\SolutionInfo.cs"
|
|
$text = [System.IO.File]::ReadAllText($filepath)
|
|
$match = [System.Text.RegularExpressions.Regex]::Matches($text, "AssemblyInformationalVersion\(`"(.+)?`"\)")
|
|
$version = $match.Groups[1]
|
|
|
|
# semver-parse the version string
|
|
$semver = [SemVer.SemVersion]::Parse($version)
|
|
$release = "" + $semver.Major + "." + $semver.Minor + "." + $semver.Patch
|
|
|
|
$versions = new-object -typeName PsObject
|
|
$versions | add-member -memberType NoteProperty -name Semver -value $semver
|
|
$versions | add-member -memberType NoteProperty -name Release -value $release
|
|
$versions | add-member -memberType NoteProperty -name Comment -value $semver.PreRelease
|
|
$versions | add-member -memberType NoteProperty -name Build -value $semver.Build
|
|
|
|
return $versions
|
|
}
|