Merge pull request #12467 from crummel/restoreNuGetTfms

Enable missing TFMs for NuGet and MSBuild to remove templating prebuilts
This commit is contained in:
Michael Simons 2021-10-22 13:48:01 -05:00 committed by GitHub
commit 0d4e77331c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 174 additions and 62 deletions

View file

@ -15,6 +15,7 @@
<ItemGroup>
<RepositoryReference Include="clicommandlineparser" />
<RepositoryReference Include="nuget-client" />
<RepositoryReference Include="source-build" />
</ItemGroup>

View file

@ -247,21 +247,39 @@ function doCommand() {
wait $!
echo " terminated with exit code $?" | tee -a "$logFile"
elif [ "$1" == "multi-rid-publish" ]; then
runPublishScenarios() {
"${dotnetCmd}" publish --self-contained false /bl:"${binlogPrefix}publish-fx-dep.binlog"
"${dotnetCmd}" publish --self-contained true -r "$targetRid" /bl:"${binlogPrefix}publish-self-contained-${targetRid}.binlog"
"${dotnetCmd}" publish --self-contained true -r linux-x64 /bl:"${binlogPrefix}publish-self-contained-portable.binlog"
}
if [ "$lang" == "F#" ]; then
# F# tries to use a truncated version number unless we pass it this flag. see https://github.com/dotnet/source-build/issues/2554
runPublishScenarios() {
"${dotnetCmd}" publish --self-contained false /bl:"${binlogPrefix}publish-fx-dep.binlog" /p:_NETCoreSdkIsPreview=true
"${dotnetCmd}" publish --self-contained true -r "$targetRid" /bl:"${binlogPrefix}publish-self-contained-${targetRid}.binlog" /p:_NETCoreSdkIsPreview=true
"${dotnetCmd}" publish --self-contained true -r linux-x64 /bl:"${binlogPrefix}publish-self-contained-portable.binlog" /p:_NETCoreSdkIsPreview=true
}
else
runPublishScenarios() {
"${dotnetCmd}" publish --self-contained false /bl:"${binlogPrefix}publish-fx-dep.binlog"
"${dotnetCmd}" publish --self-contained true -r "$targetRid" /bl:"${binlogPrefix}publish-self-contained-${targetRid}.binlog"
"${dotnetCmd}" publish --self-contained true -r linux-x64 /bl:"${binlogPrefix}publish-self-contained-portable.binlog"
}
fi
if [ "$projectOutput" == "true" ]; then
runPublishScenarios | tee -a "$logFile"
else
runPublishScenarios >> "$logFile" 2>&1
fi
else
if [ "$projectOutput" == "true" ]; then
"${dotnetCmd}" $1 /bl:"$binlog" | tee -a "$logFile"
if [ "$lang" == "F#" ]; then
# F# tries to use a truncated version number unless we pass it this flag. see https://github.com/dotnet/source-build/issues/2554
if [ "$projectOutput" == "true" ]; then
"${dotnetCmd}" $1 /bl:"$binlog" /p:_NETCoreSdkIsPreview=true | tee -a "$logFile"
else
"${dotnetCmd}" $1 /bl:"$binlog" /p:_NETCoreSdkIsPreview=true >> "$logFile" 2>&1
fi
else
"${dotnetCmd}" $1 /bl:"$binlog" >> "$logFile" 2>&1
if [ "$projectOutput" == "true" ]; then
"${dotnetCmd}" $1 /bl:"$binlog" | tee -a "$logFile"
else
"${dotnetCmd}" $1 /bl:"$binlog" >> "$logFile" 2>&1
fi
fi
fi
if [ $? -eq 0 ]; then
@ -305,7 +323,8 @@ function runAllTests() {
doCommand VB xunit new restore test
doCommand VB mstest new restore test
doCommand F# console new restore build run multi-rid-publish
# "run" was removed from the list below. see https://github.com/dotnet/source-build/issues/2554
doCommand F# console new restore build multi-rid-publish
doCommand F# classlib new restore build multi-rid-publish
doCommand F# xunit new restore test
doCommand F# mstest new restore test
@ -334,10 +353,12 @@ function runWebTests() {
# doCommand C# blazorwasm "$@" new restore build run publish
doCommand C# blazorserver "$@" new restore build run publish
doCommand F# web "$@" new restore build run multi-rid-publish
# "run" was removed from the list below. see https://github.com/dotnet/source-build/issues/2554
doCommand F# web "$@" new restore build multi-rid-publish
# Requires prereqs (non-source-built packages) - re-enable with https://github.com/dotnet/source-build/issues/2550
# doCommand F# mvc "$@" new restore build run multi-rid-publish
doCommand F# webapi "$@" new restore build run multi-rid-publish
# "run" was also removed from this set, same issue: https://github.com/dotnet/source-build/issues/2554
doCommand F# webapi "$@" new restore build multi-rid-publish
}
function runXmlDocTests() {

View file

@ -6,6 +6,7 @@ Subject: [PATCH] Restore building all TFMs for source-build
Required for omnisharp, nuget-client, templating
Background Issue: https://github.com/dotnet/source-build/issues/2542
Patch removal issue: https://github.com/dotnet/source-build/issues/2556
---
src/Directory.Build.props | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

View file

@ -1,15 +1,23 @@
From e0e1d72dfa8881244a76c3dbcc63aa73c05546f4 Mon Sep 17 00:00:00 2001
From de74c87d3f9364be1f3bdba43844c8de92704757 Mon Sep 17 00:00:00 2001
From: Michael Simons <msimons@microsoft.com>
Date: Tue, 17 Aug 2021 21:13:07 +0000
Subject: [PATCH] Update netcoreapp TFMs to 6.0
Subject: [PATCH 2/8] Update netcoreapp TFMs to 6.0
Patch removal is tracked by https://github.com/dotnet/source-build/issues/2555.
---
build/common.project.props | 10 +++++-----
build/common.targets | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
build/common.project.props | 10 +++++-----
build/common.targets | 2 +-
.../NuGet.Build.Tasks.Pack.csproj | 2 +-
src/NuGet.Core/NuGet.Common/NuGet.Common.csproj | 1 -
.../NuGet.Configuration/NuGet.Configuration.csproj | 3 +--
.../NuGet.Frameworks/NuGet.Frameworks.csproj | 1 -
.../NuGet.PackageManagement.csproj | 2 +-
.../NuGet.Versioning/NuGet.Versioning.csproj | 1 -
8 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/build/common.project.props b/build/common.project.props
index 80433ed60..8acc4e0bb 100644
index e2e3c0c11..000702f58 100644
--- a/build/common.project.props
+++ b/build/common.project.props
@@ -13,17 +13,17 @@
@ -21,7 +29,7 @@ index 80433ed60..8acc4e0bb 100644
<NETCoreTestTargetFramework>netcoreapp5.0</NETCoreTestTargetFramework>
<IsBuildOnlyXPLATProjects>$(DotNetBuildFromSource)</IsBuildOnlyXPLATProjects>
- <NetStandardVersion>netstandard2.0</NetStandardVersion>
+ <NetStandardVersion>net6.0</NetStandardVersion>
+ <NetStandardVersion>netstandard2.0;net6.0</NetStandardVersion>
<TargetFrameworksExe>$(NETFXTargetFramework);$(NETCoreTargetFramework)</TargetFrameworksExe>
<TargetFrameworksExe Condition="'$(IsBuildOnlyXPLATProjects)' == 'true' OR '$(IsXPlat)' == 'true'">$(NETCoreTargetFramework)</TargetFrameworksExe>
- <TargetFrameworksExeForSigning>$(TargetFrameworksExe);netcoreapp5.0</TargetFrameworksExeForSigning>
@ -36,7 +44,7 @@ index 80433ed60..8acc4e0bb 100644
<RepositoryRootDirectory>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'README.md'))\</RepositoryRootDirectory>
<BuildCommonDirectory>$(RepositoryRootDirectory)build\</BuildCommonDirectory>
diff --git a/build/common.targets b/build/common.targets
index cf5a70c62..8827686a7 100644
index 6fd5bd260..3de830b25 100644
--- a/build/common.targets
+++ b/build/common.targets
@@ -6,7 +6,7 @@
@ -48,6 +56,89 @@ index cf5a70c62..8827686a7 100644
<DefineConstants>$(DefineConstants);IS_CORECLR</DefineConstants>
<IsCore>true</IsCore>
</PropertyGroup>
diff --git a/src/NuGet.Core/NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.csproj b/src/NuGet.Core/NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.csproj
index f11dd752b..d4f11aad5 100644
--- a/src/NuGet.Core/NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.csproj
+++ b/src/NuGet.Core/NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.csproj
@@ -177,7 +177,7 @@
<!-- Build from source can't use ILMerge. -->
<ILMergeSubpath Condition="'$(IsBuildOnlyXPLATProjects)' != 'true'">ilmerge\</ILMergeSubpath>
<PackagePathDir Condition="'$(TargetFramework)' == '$(NETFXTargetFramework)' AND '$(IsBuildOnlyXPLATProjects)' != 'true'">Desktop/</PackagePathDir>
- <PackagePathDir Condition="'$(TargetFramework)' == '$(NetStandardVersion)'">CoreCLR/</PackagePathDir>
+ <PackagePathDir Condition="'$(TargetFramework)' == 'netstandard2.0'">CoreCLR/</PackagePathDir>
</PropertyGroup>
<ItemGroup>
<TfmSpecificPackageFile Include="$(OutputPath)\$(ILMergeSubpath)NuGet.Build.Tasks.Pack.dll">
diff --git a/src/NuGet.Core/NuGet.Common/NuGet.Common.csproj b/src/NuGet.Core/NuGet.Common/NuGet.Common.csproj
index e30a079eb..c2b8fe241 100644
--- a/src/NuGet.Core/NuGet.Common/NuGet.Common.csproj
+++ b/src/NuGet.Core/NuGet.Common/NuGet.Common.csproj
@@ -5,7 +5,6 @@
<PropertyGroup>
<Description>Common utilities and interfaces for all NuGet libraries.</Description>
<TargetFrameworks>$(TargetFrameworksLibrary)</TargetFrameworks>
- <TargetFrameworks Condition="'$(IsBuildOnlyXPLATProjects)' != 'true'">$(TargetFrameworks);net45</TargetFrameworks>
<TargetFramework />
<NoWarn>$(NoWarn);CS1591;CS1574</NoWarn>
<PackProject>true</PackProject>
diff --git a/src/NuGet.Core/NuGet.Configuration/NuGet.Configuration.csproj b/src/NuGet.Core/NuGet.Configuration/NuGet.Configuration.csproj
index bbc5ba480..18b597c74 100644
--- a/src/NuGet.Core/NuGet.Configuration/NuGet.Configuration.csproj
+++ b/src/NuGet.Core/NuGet.Configuration/NuGet.Configuration.csproj
@@ -6,7 +6,6 @@
<Description>NuGet's configuration settings implementation.</Description>
<NoWarn>$(NoWarn);CS1591</NoWarn>
<TargetFrameworks>$(TargetFrameworksLibrary)</TargetFrameworks>
- <TargetFrameworks Condition="'$(IsBuildOnlyXPLATProjects)' != 'true'">$(TargetFrameworks);net45</TargetFrameworks>
<TargetFramework />
<PackProject>true</PackProject>
<Shipping>true</Shipping>
@@ -29,7 +28,7 @@
<Reference Include="System.Xml.Linq" />
</ItemGroup>
- <ItemGroup Condition=" '$(TargetFramework)' == '$(NetStandardVersion)' ">
+ <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'net6.0' ">
<PackageReference Include="System.Security.Cryptography.ProtectedData" />
</ItemGroup>
diff --git a/src/NuGet.Core/NuGet.Frameworks/NuGet.Frameworks.csproj b/src/NuGet.Core/NuGet.Frameworks/NuGet.Frameworks.csproj
index 65f261dc1..f29551741 100644
--- a/src/NuGet.Core/NuGet.Frameworks/NuGet.Frameworks.csproj
+++ b/src/NuGet.Core/NuGet.Frameworks/NuGet.Frameworks.csproj
@@ -5,7 +5,6 @@
<PropertyGroup>
<Description>NuGet's understanding of target frameworks.</Description>
<TargetFrameworks>$(TargetFrameworksLibrary)</TargetFrameworks>
- <TargetFrameworks Condition="'$(IsBuildOnlyXPLATProjects)' != 'true'">$(TargetFrameworks);net40</TargetFrameworks>
<TargetFramework />
<NoWarn>$(NoWarn);CS1591;CS1574;CS1573</NoWarn>
<PackProject>true</PackProject>
diff --git a/src/NuGet.Core/NuGet.PackageManagement/NuGet.PackageManagement.csproj b/src/NuGet.Core/NuGet.PackageManagement/NuGet.PackageManagement.csproj
index dfbfcaa8d..a6bb51d6b 100644
--- a/src/NuGet.Core/NuGet.PackageManagement/NuGet.PackageManagement.csproj
+++ b/src/NuGet.Core/NuGet.PackageManagement/NuGet.PackageManagement.csproj
@@ -35,7 +35,7 @@
<Reference Include="System.Net.Http" />
</ItemGroup>
- <ItemGroup Condition=" '$(TargetFramework)' == '$(NetStandardVersion)' ">
+ <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'net6.0' ">
<PackageReference Include="System.ComponentModel.Composition" />
</ItemGroup>
diff --git a/src/NuGet.Core/NuGet.Versioning/NuGet.Versioning.csproj b/src/NuGet.Core/NuGet.Versioning/NuGet.Versioning.csproj
index 180293944..8498664b9 100644
--- a/src/NuGet.Core/NuGet.Versioning/NuGet.Versioning.csproj
+++ b/src/NuGet.Core/NuGet.Versioning/NuGet.Versioning.csproj
@@ -4,7 +4,6 @@
<PropertyGroup>
<TargetFrameworks>$(TargetFrameworksLibrary)</TargetFrameworks>
- <TargetFrameworks Condition="'$(IsBuildOnlyXPLATProjects)' != 'true'">$(TargetFrameworks);net45</TargetFrameworks>
<TargetFramework />
<Description>NuGet's implementation of Semantic Versioning.</Description>
<PackageTags>semver;semantic versioning</PackageTags>
--
2.29.2
2.31.1

View file

@ -1,14 +1,15 @@
From 612f18bace3320572dc69b3ee56c0d942c29331f Mon Sep 17 00:00:00 2001
From be9f7f1415250433578ed6aa36da13a4442aff8f Mon Sep 17 00:00:00 2001
From: Chris Rummel <crummel@microsoft.com>
Date: Fri, 20 Aug 2021 15:30:52 -0500
Subject: [PATCH] Build NuGet.Frameworks for netstandard as well for VSTest.
Subject: [PATCH 6/8] Build NuGet.Frameworks for netstandard as well for
VSTest.
---
src/NuGet.Core/NuGet.Frameworks/NuGet.Frameworks.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/NuGet.Core/NuGet.Frameworks/NuGet.Frameworks.csproj b/src/NuGet.Core/NuGet.Frameworks/NuGet.Frameworks.csproj
index 65f261dc1..ed81ecf24 100644
index f29551741..a89b516c6 100644
--- a/src/NuGet.Core/NuGet.Frameworks/NuGet.Frameworks.csproj
+++ b/src/NuGet.Core/NuGet.Frameworks/NuGet.Frameworks.csproj
@@ -4,7 +4,7 @@
@ -17,9 +18,9 @@ index 65f261dc1..ed81ecf24 100644
<Description>NuGet's understanding of target frameworks.</Description>
- <TargetFrameworks>$(TargetFrameworksLibrary)</TargetFrameworks>
+ <TargetFrameworks>$(TargetFrameworksLibrary);netstandard2.0</TargetFrameworks>
<TargetFrameworks Condition="'$(IsBuildOnlyXPLATProjects)' != 'true'">$(TargetFrameworks);net40</TargetFrameworks>
<TargetFramework />
<NoWarn>$(NoWarn);CS1591;CS1574;CS1573</NoWarn>
<PackProject>true</PackProject>
--
2.18.0
2.31.1

View file

@ -1,18 +1,18 @@
From d0596ee04233142bbaa9b3587f2c8b3a0bd82f8f Mon Sep 17 00:00:00 2001
From 36e519a13431f36cd30e44a91d3b4f81c6753528 Mon Sep 17 00:00:00 2001
From: Michael Simons <msimons@microsoft.com>
Date: Fri, 27 Aug 2021 01:52:56 +0000
Subject: [PATCH] NuGet.Build.Tasks.Pack source-build support
Subject: [PATCH 7/8] NuGet.Build.Tasks.Pack source-build support
---
.../NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.csproj | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
.../NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.csproj | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/NuGet.Core/NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.csproj b/src/NuGet.Core/NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.csproj
index f11dd752b..c7425dbe8 100644
index d4f11aad5..f4d083e52 100644
--- a/src/NuGet.Core/NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.csproj
+++ b/src/NuGet.Core/NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.csproj
@@ -180,13 +180,16 @@
<PackagePathDir Condition="'$(TargetFramework)' == '$(NetStandardVersion)'">CoreCLR/</PackagePathDir>
<PackagePathDir Condition="'$(TargetFramework)' == 'netstandard2.0'">CoreCLR/</PackagePathDir>
</PropertyGroup>
<ItemGroup>
- <TfmSpecificPackageFile Include="$(OutputPath)\$(ILMergeSubpath)NuGet.Build.Tasks.Pack.dll">
@ -31,5 +31,5 @@ index f11dd752b..c7425dbe8 100644
<Import Project="$(BuildCommonDirectory)common.targets"/>
--
2.29.2
2.31.1

View file

@ -1,30 +0,0 @@
From c0ec49b887cae58bb860a18982115c5910f29821 Mon Sep 17 00:00:00 2001
From: MichaelSimons <msimons@microsoft.com>
Date: Tue, 14 Sep 2021 22:54:01 +0000
Subject: [PATCH] pin nuget versions
Temporary fix for https://github.com/dotnet/source-build/issues/2455 to unblock source-build
---
Directory.Build.targets | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 0dc99916..7c45fda3 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -12,9 +12,9 @@
<PackageReference Update="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
<PackageReference Update="Microsoft.Extensions.Logging.Abstractions" Version="$(MicrosoftExtensionsLoggingAbstractionsPackageVersion)" />
<PackageReference Update="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
- <PackageReference Update="NuGet.Configuration" Version="$(NuGetConfigurationPackageVersion)" />
- <PackageReference Update="NuGet.Credentials" Version="$(NuGetCredentialsPackageVersion)" />
- <PackageReference Update="NuGet.Protocol" Version="$(NuGetProtocolPackageVersion)" />
+ <PackageReference Update="NuGet.Configuration" Version="6.0.0-preview.3.179" />
+ <PackageReference Update="NuGet.Credentials" Version="6.0.0-preview.3.179" />
+ <PackageReference Update="NuGet.Protocol" Version="6.0.0-preview.3.179" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' AND '$(BuildingInsideVisualStudio)' != 'true'">
--
2.29.2

View file

@ -0,0 +1,27 @@
From e5fa6b10f5e4bcb14e3930e4eeae7181765529ee Mon Sep 17 00:00:00 2001
From: Chris Rummel <crummel@microsoft.com>
Date: Thu, 21 Oct 2021 16:29:32 -0500
Subject: [PATCH] Also build for netstandard2.0 to support NuGet.
Patch removal is tracked by https://github.com/dotnet/source-build/issues/2557.
---
.../Microsoft.Web.XmlTransform.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Microsoft.Web.XmlTransform/Microsoft.Web.XmlTransform.csproj b/src/Microsoft.Web.XmlTransform/Microsoft.Web.XmlTransform.csproj
index 7cb81d1..f272d7f 100644
--- a/src/Microsoft.Web.XmlTransform/Microsoft.Web.XmlTransform.csproj
+++ b/src/Microsoft.Web.XmlTransform/Microsoft.Web.XmlTransform.csproj
@@ -3,7 +3,7 @@
<Import Project="$(RepositoryEngineeringDir)\Package.props" />
<PropertyGroup>
- <TargetFrameworks>netstandard2.1</TargetFrameworks>
+ <TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
<PlatformTarget>AnyCPU</PlatformTarget>
<IsPackable>true</IsPackable>
<IsShipping>false</IsShipping>
--
2.31.1