From f9af3da78b15fdd2a2ee1b12d9c0fb250d973023 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Thu, 9 Nov 2017 18:10:27 -0800 Subject: [PATCH 1/5] move rcedit step to build rather than packaging so it doesn't overwrite signing --- build.psm1 | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/build.psm1 b/build.psm1 index 473d3e08d16..150fb76125f 100644 --- a/build.psm1 +++ b/build.psm1 @@ -558,6 +558,20 @@ Fix steps: } } + if ($Environment.IsWindows) { + ## need RCEdit to modify the binaries embedded resources + if (-not (Test-Path "~/.rcedit/rcedit-x64.exe")) + { + throw "RCEdit is required to modify pwsh.exe resources, please run 'Start-PSBootStrap' to install" + } + + $ProductVersion = (git --git-dir="$PSScriptRoot/.git" describe) -Replace '^v' + + Start-NativeExecution { & "~/.rcedit/rcedit-x64.exe" "$($Options.Output)" --set-icon "$PSScriptRoot\assets\Powershell_black.ico" ` + --set-file-version $ProductVersion --set-product-version $ProductVersion --set-version-string "ProductName" "PowerShell Core 6" ` + --set-requested-execution-level "asInvoker" --set-version-string "LegalCopyright" "(C) Microsoft Corporation. All Rights Reserved." } | Write-Verbose + } + # download modules from powershell gallery. # - PowerShellGet, PackageManagement, Microsoft.PowerShell.Archive if($PSModuleRestore) @@ -1899,16 +1913,6 @@ function New-MSIPackage [Switch] $Force ) - ## need RCEdit to modify the binaries embedded resources - if (-not (Test-Path "~/.rcedit/rcedit-x64.exe")) - { - throw "RCEdit is required to modify pwsh.exe resources, please run 'Start-PSBootStrap' to install" - } - - Start-NativeExecution { & "~/.rcedit/rcedit-x64.exe" (Get-PSOutput) --set-icon "$AssetsPath\Powershell_black.ico" ` - --set-file-version $ProductVersion --set-product-version $ProductVersion --set-version-string "ProductName" "PowerShell Core 6" ` - --set-requested-execution-level "asInvoker" --set-version-string "LegalCopyright" "(C) Microsoft Corporation. All Rights Reserved." } | Write-Verbose - ## AppVeyor base image might update the version for Wix. Hence, we should ## not hard code version numbers. $wixToolsetBinPath = "${env:ProgramFiles(x86)}\WiX Toolset *\bin" From b90e19445164b51c1574f5f0c798ef2370bf467d Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Fri, 10 Nov 2017 09:35:33 -0800 Subject: [PATCH 2/5] address PR feedback --- build.psm1 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build.psm1 b/build.psm1 index 150fb76125f..5abd1b091b7 100644 --- a/build.psm1 +++ b/build.psm1 @@ -565,10 +565,13 @@ Fix steps: throw "RCEdit is required to modify pwsh.exe resources, please run 'Start-PSBootStrap' to install" } - $ProductVersion = (git --git-dir="$PSScriptRoot/.git" describe) -Replace '^v' + if (!$ReleaseTag) + { + $ReleaseTag = Get-PSCommitId + } Start-NativeExecution { & "~/.rcedit/rcedit-x64.exe" "$($Options.Output)" --set-icon "$PSScriptRoot\assets\Powershell_black.ico" ` - --set-file-version $ProductVersion --set-product-version $ProductVersion --set-version-string "ProductName" "PowerShell Core 6" ` + --set-file-version $ReleaseTag --set-product-version $ReleaseTag --set-version-string "ProductName" "PowerShell Core 6" ` --set-requested-execution-level "asInvoker" --set-version-string "LegalCopyright" "(C) Microsoft Corporation. All Rights Reserved." } | Write-Verbose } From 699245a5d72e3c1350fe3ab9fe393d28ac3bd9e3 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Fri, 10 Nov 2017 10:34:10 -0800 Subject: [PATCH 3/5] remove beginning v from releasetag --- build.psm1 | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/build.psm1 b/build.psm1 index 5abd1b091b7..d5fa91f58b9 100644 --- a/build.psm1 +++ b/build.psm1 @@ -565,13 +565,18 @@ Fix steps: throw "RCEdit is required to modify pwsh.exe resources, please run 'Start-PSBootStrap' to install" } - if (!$ReleaseTag) + $ReleaseVersion = "" + if ($ReleaseTag) { - $ReleaseTag = Get-PSCommitId + $ReleaseVersion = $ReleaseTag -replace '^v' + } + else + { + $ReleaseVersion = (Get-PSCommitId) -replace '^v' } Start-NativeExecution { & "~/.rcedit/rcedit-x64.exe" "$($Options.Output)" --set-icon "$PSScriptRoot\assets\Powershell_black.ico" ` - --set-file-version $ReleaseTag --set-product-version $ReleaseTag --set-version-string "ProductName" "PowerShell Core 6" ` + --set-file-version $ReleaseVersion --set-product-version $ReleaseVersion --set-version-string "ProductName" "PowerShell Core 6" ` --set-requested-execution-level "asInvoker" --set-version-string "LegalCopyright" "(C) Microsoft Corporation. All Rights Reserved." } | Write-Verbose } From 4b58cc650fe4edc6e0abb586e4f537b9deff02e2 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Fri, 10 Nov 2017 13:25:28 -0800 Subject: [PATCH 4/5] updated to use $ReleaseTagToUse --- build.psm1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.psm1 b/build.psm1 index d5fa91f58b9..2bb905d721e 100644 --- a/build.psm1 +++ b/build.psm1 @@ -566,9 +566,9 @@ Fix steps: } $ReleaseVersion = "" - if ($ReleaseTag) + if ($ReleaseTagToUse) { - $ReleaseVersion = $ReleaseTag -replace '^v' + $ReleaseVersion = $ReleaseTagToUse } else { From a767477ab90b8f56d37dbf044fe7d20289a76c19 Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Fri, 10 Nov 2017 15:11:19 -0800 Subject: [PATCH 5/5] have consistent bracing style (for the code I added and one nearby I noticed) --- build.psm1 | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/build.psm1 b/build.psm1 index 2bb905d721e..6a26e996e90 100644 --- a/build.psm1 +++ b/build.psm1 @@ -560,18 +560,14 @@ Fix steps: if ($Environment.IsWindows) { ## need RCEdit to modify the binaries embedded resources - if (-not (Test-Path "~/.rcedit/rcedit-x64.exe")) - { + if (-not (Test-Path "~/.rcedit/rcedit-x64.exe")) { throw "RCEdit is required to modify pwsh.exe resources, please run 'Start-PSBootStrap' to install" } $ReleaseVersion = "" - if ($ReleaseTagToUse) - { + if ($ReleaseTagToUse) { $ReleaseVersion = $ReleaseTagToUse - } - else - { + } else { $ReleaseVersion = (Get-PSCommitId) -replace '^v' } @@ -582,8 +578,7 @@ Fix steps: # download modules from powershell gallery. # - PowerShellGet, PackageManagement, Microsoft.PowerShell.Archive - if($PSModuleRestore) - { + if ($PSModuleRestore) { $ProgressPreference = "SilentlyContinue" log "Restore PowerShell modules to $publishPath"