From d2491511e5390bcbdbf70291bb9169412fa2f032 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Tue, 8 Jan 2019 16:02:47 -0800 Subject: [PATCH 1/4] Generate nupkg of .NET Core SDK for internal build consumption Also clean up a bunch of issues with the generatenupkg script: * Output from nuget pack was getting lost * Non-existent file was imported * Literal '-ForegroundColor Green' was printed to the screen (didn't actually change the color) * nuget.exe was being put inside the src/ tree, moved to artifacts/Tools/nuget * Temporary nuspec was created unnecessarily, now use -Properties instead of search and replace * Downgraded to nuget 3.5.0 to workaround a perf issue in nuget 4.x pack --- src/redist/targets/GenerateMSIs.targets | 18 +++++ .../targets/packaging/windows/clisdk/Init.cmd | 5 ++ ...mmon.Net.Core.SDK.MSBuildExtensions.nuspec | 2 +- .../VS.Redist.Common.Net.Core.SDK.x64.nuspec | 2 +- .../VS.Redist.Common.Net.Core.SDK.x86.nuspec | 2 +- .../clisdk/VS.Tools.Net.Core.SDK.x86.nuspec | 19 ++++++ .../packaging/windows/clisdk/_common.ps1 | 26 -------- .../windows/clisdk/generatebundle.ps1 | 2 +- .../windows/clisdk/generatenupkg.ps1 | 66 ++++--------------- 9 files changed, 58 insertions(+), 84 deletions(-) create mode 100644 src/redist/targets/packaging/windows/clisdk/Init.cmd create mode 100644 src/redist/targets/packaging/windows/clisdk/VS.Tools.Net.Core.SDK.x86.nuspec delete mode 100644 src/redist/targets/packaging/windows/clisdk/_common.ps1 diff --git a/src/redist/targets/GenerateMSIs.targets b/src/redist/targets/GenerateMSIs.targets index 5d3a075a6..7cb0b4997 100644 --- a/src/redist/targets/GenerateMSIs.targets +++ b/src/redist/targets/GenerateMSIs.targets @@ -21,6 +21,8 @@ $(MSBuildThisFileDirectory)packaging/windows/clisdk/VS.Redist.Common.Net.Core.SDK.$(Architecture).nuspec $(ArtifactsShippingPackagesDir)VS.Redist.Common.Net.Core.SDK.$(Architecture).$(FullNugetVersion).nupkg + $(MSBuildThisFileDirectory)/packaging/windows/clisdk/VS.Tools.Net.Core.SDK.$(Architecture).nuspec + $(ArtifactsShippingPackagesDir)VS.Tools.Net.Core.SDK.$(Architecture).$(FullNugetVersion).nupkg + $(ArtifactsNonShippingPackagesDir)VS.Redist.Common.Net.Core.SDK.MSBuildExtensions.$(FullNugetVersion).nupkg + $(ArtifactsNonShippingPackagesDir)VS.Redist.Common.Net.Core.SDK.MSBuildExtensions.swr--> From 04dd2332ff217b0b6563b27d0ddeb74ad1b11476 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Fri, 11 Jan 2019 14:47:23 -0800 Subject: [PATCH 3/4] Disable signing of non-shipping packages Also clean up how $(SignCoreSdk) is set so that `build -sign` does so and allows a full dry run locally. --- eng/Signing.props | 16 ++++++++++++++++ eng/setbuildinfo.bat | 6 +++--- run-build.ps1 | 12 +++++++++--- 3 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 eng/Signing.props diff --git a/eng/Signing.props b/eng/Signing.props new file mode 100644 index 000000000..17360d175 --- /dev/null +++ b/eng/Signing.props @@ -0,0 +1,16 @@ + + + + + + + + + + true + + + diff --git a/eng/setbuildinfo.bat b/eng/setbuildinfo.bat index aa620286e..0465d8ab6 100644 --- a/eng/setbuildinfo.bat +++ b/eng/setbuildinfo.bat @@ -27,12 +27,12 @@ IF /I "%Architecture:~0,3%"=="ARM" ( ECHO ##vso[task.setvariable variable=TestParameter] ECHO ##vso[task.setvariable variable=RunTests]false - ECHO ##vso[task.setvariable variable=AdditionalBuildParameters]/p:SignCoreSdk=true /p:DotNetSignType=%SignType% ) ELSE ( ECHO NOT ARM ECHO ##vso[task.setvariable variable=TestParameter]-test ECHO ##vso[task.setvariable variable=RunTests]true - ECHO ##vso[task.setvariable variable=AdditionalBuildParameters]-sign /p:SignCoreSdk=true /p:DotNetSignType=%SignType% -) \ No newline at end of file +) + +ECHO ##vso[task.setvariable variable=AdditionalBuildParameters]-sign /p:DotNetSignType=%SignType% diff --git a/run-build.ps1 b/run-build.ps1 index 6fddefbb0..83815d7d4 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -7,15 +7,21 @@ param( [string]$Configuration="Debug", [string]$Architecture="x64", + [switch]$Sign=$false, [Parameter(ValueFromRemainingArguments=$true)][String[]]$ExtraParameters ) $RepoRoot = "$PSScriptRoot" -$ArchitectureParam="/p:Architecture=$Architecture" -$ConfigurationParam="-configuration $Configuration" +$Parameters = "/p:Architecture=$Architecture" +$Parameters = "$Parameters -configuration $Configuration" + +if ($Sign) { + $Parameters = "$Parameters -sign /p:SignCoreSdk=true" +} + try { - $ExpressionToInvoke = "$RepoRoot\eng\common\build.ps1 -restore -build $ConfigurationParam $ArchitectureParam $ExtraParameters" + $ExpressionToInvoke = "$RepoRoot\eng\common\build.ps1 -restore -build $Parameters $ExtraParameters" Write-Host "Invoking expression: $ExpressionToInvoke" Invoke-Expression $ExpressionToInvoke } From dcc9df88405cda54e4da442185757b3d0773d5c0 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Fri, 11 Jan 2019 14:53:23 -0800 Subject: [PATCH 4/4] Workaround arcade bug with AllowEmptySignList --- run-build.ps1 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/run-build.ps1 b/run-build.ps1 index 83815d7d4..07db27efd 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -8,6 +8,7 @@ param( [string]$Configuration="Debug", [string]$Architecture="x64", [switch]$Sign=$false, + [bool]$WarnAsError=$true, [Parameter(ValueFromRemainingArguments=$true)][String[]]$ExtraParameters ) @@ -18,8 +19,13 @@ $Parameters = "$Parameters -configuration $Configuration" if ($Sign) { $Parameters = "$Parameters -sign /p:SignCoreSdk=true" + + # Workaround https://github.com/dotnet/arcade/issues/1776 + $WarnAsError = $false } +$Parameters = "$Parameters -WarnAsError `$$WarnAsError" + try { $ExpressionToInvoke = "$RepoRoot\eng\common\build.ps1 -restore -build $Parameters $ExtraParameters" Write-Host "Invoking expression: $ExpressionToInvoke"