Skip to content

Commit 8eddb81

Browse files
committed
Fix SemVer / Version so they work from build.psd1
1 parent a95679d commit 8eddb81

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

Source/Private/InitializeBuild.ps1

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,28 @@ function InitializeBuild {
3333
) -join ' ')"
3434
$BuildInfo = GetBuildInfo -BuildManifest $BuildManifest -BuildCommandInvocation $BuildCommandInvocation
3535

36+
# Normalize the version (if it was passed in via build.psd1)
37+
if ($BuildInfo.SemVer) {
38+
Write-Verbose "Update the Version, Prerelease, and BuildMetadata from the SemVer (in case it was passed in via build.psd1)"
39+
$BuildInfo = $BuildInfo | Update-Object @{
40+
Version = if (($V = $BuildInfo.SemVer.Split("+")[0].Split("-", 2)[0])) {
41+
[version]$V
42+
}
43+
Prerelease = $BuildInfo.SemVer.Split("+")[0].Split("-", 2)[1]
44+
BuildMetadata = $BuildInfo.SemVer.Split("+", 2)[1]
45+
}
46+
} elseif($BuildInfo.Version) {
47+
Write-Verbose "Calculate the Semantic Version from the Version - Prerelease + BuildMetadata"
48+
$SemVer = "$($BuildInfo.Version)"
49+
if ($BuildInfo.Prerelease) {
50+
$SemVer = "$SemVer-$($BuildInfo.Prerelease)"
51+
}
52+
if ($BuildInfo.BuildMetadata) {
53+
$SemVer = "$SemVer+$($BuildInfo.BuildMetadata)"
54+
}
55+
$BuildInfo = $BuildInfo | Update-Object @{ SemVer = $SemVer }
56+
}
57+
3658
# Override VersionedOutputDirectory with UnversionedOutputDirectory
3759
if ($BuildInfo.UnversionedOutputDirectory -and $BuildInfo.VersionedOutputDirectory) {
3860
$BuildInfo.VersionedOutputDirectory = $false

Source/Public/Build-Module.ps1

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -150,18 +150,6 @@ function Build-Module {
150150
}
151151
process {
152152
try {
153-
# BEFORE we InitializeBuild we need to "fix" the version
154-
if($PSCmdlet.ParameterSetName -ne "SemanticVersion") {
155-
Write-Verbose "Calculate the Semantic Version from the $Version - $Prerelease + $BuildMetadata"
156-
$SemVer = "$Version"
157-
if($Prerelease) {
158-
$SemVer = "$Version-$Prerelease"
159-
}
160-
if($BuildMetadata) {
161-
$SemVer = "$SemVer+$BuildMetadata"
162-
}
163-
}
164-
165153
# Push into the module source (it may be a subfolder)
166154
$ModuleInfo = InitializeBuild $SourcePath
167155
Write-Progress "Building $($ModuleInfo.Name)" -Status "Use -Verbose for more information"

0 commit comments

Comments
 (0)