Merge pull request #12455 from crummel/updateRoslynPatches
Update to Roslyn version of patch.
This commit is contained in:
commit
a6871de837
3 changed files with 33 additions and 92 deletions
|
@ -0,0 +1,33 @@
|
|||
From 1a415d2019d74bcf009134326d1c25798589de64 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Rummel <crummel@microsoft.com>
|
||||
Date: Tue, 19 Oct 2021 11:39:32 -0500
|
||||
Subject: [PATCH] Apply arcade-powered source-build patches (#55823)
|
||||
|
||||
Don't include desktop artifacts that don't exist in source-build.
|
||||
Source-build doesn't have these artifacts available, even when we eventually will
|
||||
build desktop TFMs, because Roslyn is one of the first builds in source-build.
|
||||
Instead Roslyn is picking up reference packages that don't have the `lib` directory
|
||||
which is causing a build failure. This disables the attempt to grab these desktop
|
||||
artifacts so source-build just skips them instead.
|
||||
|
||||
Backported to roslyn with https://github.com/dotnet/roslyn/pull/55823
|
||||
---
|
||||
.../DesktopCompilerArtifacts.targets | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/NuGet/Microsoft.Net.Compilers.Toolset/DesktopCompilerArtifacts.targets b/src/NuGet/Microsoft.Net.Compilers.Toolset/DesktopCompilerArtifacts.targets
|
||||
index c8b87ab6958..107ff051b51 100644
|
||||
--- a/src/NuGet/Microsoft.Net.Compilers.Toolset/DesktopCompilerArtifacts.targets
|
||||
+++ b/src/NuGet/Microsoft.Net.Compilers.Toolset/DesktopCompilerArtifacts.targets
|
||||
@@ -20,7 +20,7 @@
|
||||
VS training data to the assemblies they produce.
|
||||
-->
|
||||
|
||||
- <Target Name="InitializeDesktopCompilerArtifacts">
|
||||
+ <Target Name="InitializeDesktopCompilerArtifacts" Condition="'$(DotNetBuildFromSource)' != 'true'">
|
||||
<ItemGroup>
|
||||
|
||||
<!-- The Roslyn built binaries must be taken from these locations because this is the location where signing occurs -->
|
||||
--
|
||||
2.31.1
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
From eb67cc234b0073d8b210c3ae42b5efe481bd0900 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Rummel <crummel@microsoft.com>
|
||||
Date: Tue, 20 Jul 2021 09:41:52 -0500
|
||||
Subject: [PATCH 1/2] Patch out version check for source-build scenarios.
|
||||
|
||||
The immediate cause for removing this was that NuGet is not yet built at this point in the source-build process. Roslyn tries to use a reference package to run this task but fails (the usual "reference packages cannot be used at runtime" error). Additionally, this is not really a valid check in source-build - we give each repo the SDK and MSBuild that we expect it to use, and want to override its opinions about what it should be using.
|
||||
|
||||
---
|
||||
eng/targets/Imports.targets | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/eng/targets/Imports.targets b/eng/targets/Imports.targets
|
||||
index 15b067deb04..303b10c40cd 100644
|
||||
--- a/eng/targets/Imports.targets
|
||||
+++ b/eng/targets/Imports.targets
|
||||
@@ -159,7 +159,7 @@
|
||||
<UsingTask TaskName="Microsoft.DotNet.Arcade.Sdk.CompareVersions" AssemblyFile="$(ArcadeSdkBuildTasksAssembly)" />
|
||||
<UsingTask TaskName="Microsoft.DotNet.Arcade.Sdk.SingleError" AssemblyFile="$(ArcadeSdkBuildTasksAssembly)" />
|
||||
|
||||
- <Target Name="_CheckRequiredMSBuildVersion" BeforeTargets="BeforeBuild">
|
||||
+ <Target Name="_CheckRequiredMSBuildVersion" BeforeTargets="BeforeBuild" Condition="'$(DotNetBuildFromSource)' != 'true'">
|
||||
<CompareVersions Left="$(MSBuildVersion)" Right="$(MinimumMSBuildVersion)">
|
||||
<Output TaskParameter="Result" PropertyName="_VersionComparisonResult"/>
|
||||
</CompareVersions>
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
From a235579b23a9aaf3f30202a69e92b93f7c569107 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Rummel <crummel@microsoft.com>
|
||||
Date: Tue, 20 Jul 2021 14:20:14 -0500
|
||||
Subject: [PATCH 2/2] Don't include desktop artifacts that don't exist in
|
||||
source-build.
|
||||
|
||||
This fixes a bad intersection of a couple of things going on in the source-build Roslyn build.
|
||||
- Roslyn.Extensions project that builds before this normally will restore a net46 version of System.Numerics.Vectors, but it sets it to CopyLocal and is building for net472, so this net46 DLL is output to the net472 folder.
|
||||
- We don't build Roslyn.Extensions for net472 for other reasons, so we are missing this DLL but not the output from that project (we just get the .NET Core folders).
|
||||
- DesktopCompilerArtifacts tries to specifically call out the System.Numerics.Vectors (and some other) DLLs because they are treated differently (NGEN is not supported for them).
|
||||
- So the missing DLL, instead of just being ignored because of a wildcard, comes up as error trying to build these packages.
|
||||
- We want full-framework Roslyn artifacts downstream but we don't ever run the fullfx Roslyn compiler, so we need these packages but not the CopyLocal fullfx DLLs.
|
||||
|
||||
So we keep the net472 build for these but remove the specifically-called out artifacts that we don't need.
|
||||
|
||||
---
|
||||
.../Microsoft.Net.Compilers.Toolset.Package.csproj | 4 ++--
|
||||
.../Microsoft.Net.Compilers.Package.csproj | 6 +++---
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/NuGet/Microsoft.Net.Compilers.Toolset/Microsoft.Net.Compilers.Toolset.Package.csproj b/src/NuGet/Microsoft.Net.Compilers.Toolset/Microsoft.Net.Compilers.Toolset.Package.csproj
|
||||
index 9e646ebab5b..7b598978fd1 100644
|
||||
--- a/src/NuGet/Microsoft.Net.Compilers.Toolset/Microsoft.Net.Compilers.Toolset.Package.csproj
|
||||
+++ b/src/NuGet/Microsoft.Net.Compilers.Toolset/Microsoft.Net.Compilers.Toolset.Package.csproj
|
||||
@@ -23,7 +23,7 @@
|
||||
<!-- Remove NU5128 once https://github.com/NuGet/Home/issues/8583 is fixed -->
|
||||
<NoWarn>$(NoWarn);NU5100;NU5128</NoWarn>
|
||||
|
||||
- <_DependsOn Condition="'$(TargetFramework)' == 'net472'">InitializeDesktopCompilerArtifacts</_DependsOn>
|
||||
+ <_DependsOn Condition="'$(TargetFramework)' == 'net472' and '$(DotNetBuildFromSource)' != 'true'">InitializeDesktopCompilerArtifacts</_DependsOn>
|
||||
<_DependsOn Condition="'$(TargetFramework)' == 'netcoreapp3.1'">InitializeCoreClrCompilerArtifacts</_DependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -57,6 +57,6 @@
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
- <Import Project="DesktopCompilerArtifacts.targets" Condition="'$(TargetFramework)' == 'net472'" />
|
||||
+ <Import Project="DesktopCompilerArtifacts.targets" Condition="'$(TargetFramework)' == 'net472' and '$(DotNetBuildFromSource)' != 'true'" />
|
||||
<Import Project="CoreClrCompilerArtifacts.targets" Condition="'$(TargetFramework)' == 'netcoreapp3.1'" />
|
||||
</Project>
|
||||
diff --git a/src/NuGet/Microsoft.Net.Compilers/Microsoft.Net.Compilers.Package.csproj b/src/NuGet/Microsoft.Net.Compilers/Microsoft.Net.Compilers.Package.csproj
|
||||
index 05f74e26ce6..c33e557c249 100644
|
||||
--- a/src/NuGet/Microsoft.Net.Compilers/Microsoft.Net.Compilers.Package.csproj
|
||||
+++ b/src/NuGet/Microsoft.Net.Compilers/Microsoft.Net.Compilers.Package.csproj
|
||||
@@ -31,13 +31,13 @@
|
||||
|
||||
<Target Name="_GetFilesToPackage" DependsOnTargets="InitializeDesktopCompilerArtifacts">
|
||||
<ItemGroup>
|
||||
- <_File Include="@(DesktopCompilerArtifact)" TargetDir="tools"/>
|
||||
- <_File Include="@(DesktopCompilerResourceArtifact)" TargetDir="tools"/>
|
||||
+ <_File Include="@(DesktopCompilerArtifact)" TargetDir="tools" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
+ <_File Include="@(DesktopCompilerResourceArtifact)" TargetDir="tools" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
<_File Include="$(MSBuildProjectDirectory)\build\**\*.*" TargetDir="build" />
|
||||
|
||||
<TfmSpecificPackageFile Include="@(_File)" PackagePath="%(_File.TargetDir)/%(_File.RecursiveDir)%(_File.FileName)%(_File.Extension)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
- <Import Project="..\Microsoft.Net.Compilers.Toolset\DesktopCompilerArtifacts.targets"/>
|
||||
+ <Import Project="..\Microsoft.Net.Compilers.Toolset\DesktopCompilerArtifacts.targets" />
|
||||
</Project>
|
||||
--
|
||||
2.18.0
|
||||
|
Loading…
Reference in a new issue