[ArPow] Update previous source-built (#11705)

* Update previous source-built

* Add patch for crossgen2 issue in runtime

This includes the fix suggested by hoyosjs on https://github.com/dotnet/sdk/issues/20543

* Fix error in patch

* Add recommended arcade patch

* Fix compiler error in patch

* Update previous source built

* Remove unnecessary patch

* Update previous source-built and add patches

* Runtime patches

* Patch fixup

* Fix bad patch

* Updates

* runtime patch update

* Refactor runtime patches

* Update 0003-Mark-System.Reflection.Metadata-with-PrivateAssets.patch

Co-authored-by: dseefeld <dseefeld@microsoft.com>
Co-authored-by: Dan Seefeldt <Dan.Seefeldt@microsoft.com>
This commit is contained in:
Michael Simons 2021-09-15 14:27:26 -05:00 committed by GitHub
parent e212c360ff
commit 95a9ca67b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 216 additions and 35 deletions

View file

@ -160,7 +160,7 @@
removed. See https://github.com/dotnet/source-build/issues/2295 -->
<MicrosoftBuildFrameworkVersion>15.7.179</MicrosoftBuildFrameworkVersion>
<MicrosoftBuildUtilitiesCoreVersion>15.7.179</MicrosoftBuildUtilitiesCoreVersion>
<PrivateSourceBuiltArtifactsPackageVersion>0.1.0-6.0.100-bootstrap.11</PrivateSourceBuiltArtifactsPackageVersion>
<PrivateSourceBuiltArtifactsPackageVersion>0.1.0-6.0.100-bootstrap.16</PrivateSourceBuiltArtifactsPackageVersion>
<PrivateSourceBuiltPrebuiltsPackageVersion>0.1.0-6.0.100-19</PrivateSourceBuiltPrebuiltsPackageVersion>
</PropertyGroup>
<!-- Workload manifest package versions -->

View file

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
This file contains PVP versions of packages that will be built when all repos are included.
Including versions that would be built here allows repos that depend on these packages
coming from previously source-built packages to use the current versions. These packages
should show up a prebuilts until all repos are included. Then, the packages will be
in previously source-built packages and will be included in the PVP. At that point, this
file can be removed.
-->
<PropertyGroup>
<MicrosoftExtensionsDependencyModelVersion>6.0.0-preview.6.21352.12</MicrosoftExtensionsDependencyModelVersion>
<MicrosoftNETCorePlatformsPackageVersion>3.1.0</MicrosoftNETCorePlatformsPackageVersion>
<MicrosoftNETCorePlatformsVersion>3.1.0</MicrosoftNETCorePlatformsVersion>
<SystemCollectionsImmutablePackageVersion>6.0.0-preview.7.21377.19</SystemCollectionsImmutablePackageVersion>
<SystemCollectionsImmutableVersion>6.0.0-preview.7.21377.19</SystemCollectionsImmutableVersion>
<SystemReflectionMetadataVersion>5.0.0</SystemReflectionMetadataVersion>
<SystemReflectionMetadataPackageVersion>5.0.0</SystemReflectionMetadataPackageVersion>
<SystemRuntimeCompilerServicesUnsafePackageVersion>6.0.0-rc.1.21415.6</SystemRuntimeCompilerServicesUnsafePackageVersion>
<SystemRuntimeCompilerServicesUnsafeVersion>6.0.0-rc.1.21415.6</SystemRuntimeCompilerServicesUnsafeVersion>
<SystemSecurityPermissionsPackageVersion>6.0.0-preview.7.21356.2</SystemSecurityPermissionsPackageVersion>
</PropertyGroup>
</Project>

View file

@ -21,7 +21,7 @@
</PropertyGroup>
<!-- Production Dependencies -->
<PropertyGroup>
<PrivateSourceBuiltArtifactsPackageVersion>0.1.0-6.0.100-bootstrap.11</PrivateSourceBuiltArtifactsPackageVersion>
<PrivateSourceBuiltArtifactsPackageVersion>0.1.0-6.0.100-bootstrap.16</PrivateSourceBuiltArtifactsPackageVersion>
<PrivateSourceBuiltPrebuiltsPackageVersionPrefix>0.1.0-6.0.100-</PrivateSourceBuiltPrebuiltsPackageVersionPrefix>
<PrivateSourceBuiltPrebuiltsPackageVersionSuffix>19</PrivateSourceBuiltPrebuiltsPackageVersionSuffix>
</PropertyGroup>

View file

@ -0,0 +1,41 @@
From 3610fdc1ac6437973d539177c1427ed7f4f65c2e Mon Sep 17 00:00:00 2001
From: Michael Simons <msimons@microsoft.com>
Date: Fri, 27 Aug 2021 13:34:55 +0000
Subject: [PATCH] Build Microsoft.DotNet.Build.Tasks.Workloads for net6.0
---
.../src/Microsoft.DotNet.Build.Tasks.Workloads.csproj | 1 +
.../src/VisualStudioComponent.cs | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/Microsoft.DotNet.Build.Tasks.Workloads.csproj b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/Microsoft.DotNet.Build.Tasks.Workloads.csproj
index ae34705a..bda5d581 100644
--- a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/Microsoft.DotNet.Build.Tasks.Workloads.csproj
+++ b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/Microsoft.DotNet.Build.Tasks.Workloads.csproj
@@ -2,6 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net472;netcoreapp3.1</TargetFrameworks>
+ <TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">net6.0</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>Latest</LangVersion>
<IsPackable>true</IsPackable>
diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/VisualStudioComponent.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/VisualStudioComponent.cs
index ee7e9d6d..b69b6823 100644
--- a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/VisualStudioComponent.cs
+++ b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/VisualStudioComponent.cs
@@ -247,7 +247,11 @@ public TaskItem Generate(string projectPath)
// processing direct pack dependencies
if (workload.Extends?.Count() > 0)
{
+#if NET6_0
+ foreach (WorkloadId dependency in workload.Extends)
+#else
foreach (WorkloadDefinitionId dependency in workload.Extends)
+#endif
{
// Component dependencies, aka. workload extensions only have minimum version dependencies.
component.AddDependency($"{Utils.ToSafeId(dependency.ToString())}", new Version("1.0.0.0"), maxVersion: null);
--
2.29.2

View file

@ -0,0 +1,25 @@
From 4577f60202649281d2c96c4d8b67d331b7e71c35 Mon Sep 17 00:00:00 2001
From: Michael Simons <msimons@microsoft.com>
Date: Fri, 10 Sep 2021 13:52:54 +0000
Subject: [PATCH] Respond to WorkloadDefinition breaking API change
See https://github.com/dotnet/arcade/issues/7880 for details
---
.../src/GenerateWorkloadMsis.cs | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateWorkloadMsis.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateWorkloadMsis.cs
index 50340821..a65453f2 100644
--- a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateWorkloadMsis.cs
+++ b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateWorkloadMsis.cs
@@ -121,6 +121,7 @@ private IEnumerable<WorkloadPack> GetWorkloadPacks()
// platform includes Windows
var workloads = manifests.SelectMany(m => m.Workloads).
Select(w => w.Value).
+ OfType<WorkloadDefinition>().
Where(wd => (wd.Platforms == null) || wd.Platforms.Any(p => p.StartsWith("win")));
var packIds = workloads.Where(w => w.Packs != null).SelectMany(w => w.Packs).Distinct();
--
2.29.2

View file

@ -0,0 +1,32 @@
From 1d34d8396b9c2968163802036ed102e18ef14605 Mon Sep 17 00:00:00 2001
From: Michael Simons <msimons@microsoft.com>
Date: Fri, 10 Sep 2021 13:57:38 +0000
Subject: [PATCH] Bootstrapping workaround
Temporary workaround until source-build is built with recent source-built.
/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/src/Microsoft.DotNet.CodeAnalysis/Microsoft.DotNet.CodeAnalysis.csproj : error NU1603: Microsoft.CodeAnalysis.Common 4.0.0-5.21453.15 depends on System.Runtime.CompilerServices.Unsafe (>= 6.0.0-rc.1.21415.6) but System.Runtime.CompilerServices.Unsafe 6.0.0-rc.1.21415.6 was not found. An approximate best match of System.Runtime.CompilerServices.Unsafe 6.0.0-rc.2.21457.6 was resolved. [/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/Arcade.sln]
/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/src/Microsoft.DotNet.PackageTesting/Microsoft.DotNet.PackageTesting.csproj : error NU1603: Microsoft.CodeAnalysis.Common 4.0.0-5.21453.15 depends on System.Runtime.CompilerServices.Unsafe (>= 6.0.0-rc.1.21415.6) but System.Runtime.CompilerServices.Unsafe 6.0.0-rc.1.21415.6 was not found. An approximate best match of System.Runtime.CompilerServices.Unsafe 6.0.0-rc.2.21457.6 was resolved. [/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/Arcade.sln]
/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/src/Microsoft.DotNet.GenFacades/Microsoft.DotNet.GenFacades.csproj : error NU1603: Microsoft.CodeAnalysis.Common 4.0.0-5.21453.15 depends on System.Runtime.CompilerServices.Unsafe (>= 6.0.0-rc.1.21415.6) but System.Runtime.CompilerServices.Unsafe 6.0.0-rc.1.21415.6 was not found. An approximate best match of System.Runtime.CompilerServices.Unsafe 6.0.0-rc.2.21457.6 was resolved. [/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/Arcade.sln]
---
Directory.Build.props | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Directory.Build.props b/Directory.Build.props
index 960eb6c9..fa87aaac 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -18,6 +18,10 @@
<IsShipping>false</IsShipping>
</PropertyGroup>
+ <PropertyGroup>
+ <NoWarn>$(NoWarn);NU1603</NoWarn>
+ </PropertyGroup>
+
<PropertyGroup Condition="'$(DotNetBuildFromSource)' == 'true'">
<!--
When building using source-build the process is:
--
2.29.2

View file

@ -0,0 +1,25 @@
From 80ac1836aa29bce1c8de0fbc920dd83e57ff8d37 Mon Sep 17 00:00:00 2001
From: Michael Simons <msimons@microsoft.com>
Date: Fri, 27 Aug 2021 01:56:03 +0000
Subject: [PATCH] Remove netcoreapp2.1 TFM
---
.../Microsoft.Diagnostics.NETCore.Client.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Microsoft.Diagnostics.NETCore.Client/Microsoft.Diagnostics.NETCore.Client.csproj b/src/Microsoft.Diagnostics.NETCore.Client/Microsoft.Diagnostics.NETCore.Client.csproj
index ffba4a8a..40dd2361 100644
--- a/src/Microsoft.Diagnostics.NETCore.Client/Microsoft.Diagnostics.NETCore.Client.csproj
+++ b/src/Microsoft.Diagnostics.NETCore.Client/Microsoft.Diagnostics.NETCore.Client.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
- <TargetFrameworks>netstandard2.0;netcoreapp2.1</TargetFrameworks>
+ <TargetFrameworks>netstandard2.0</TargetFrameworks>
<RootNamespace>Microsoft.Diagnostics.NETCore.Client</RootNamespace>
<Description>.NET Core Diagnostics Client Library</Description>
<VersionPrefix>0.2.0</VersionPrefix>
--
2.29.2

View file

@ -0,0 +1,35 @@
From d0596ee04233142bbaa9b3587f2c8b3a0bd82f8f 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
---
.../NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.csproj | 9 ++++++---
1 file changed, 6 insertions(+), 3 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
--- 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>
</PropertyGroup>
<ItemGroup>
- <TfmSpecificPackageFile Include="$(OutputPath)\$(ILMergeSubpath)NuGet.Build.Tasks.Pack.dll">
+ <TfmSpecificPackageFile Include="$(OutputPath)\$(ILMergeSubpath)NuGet.Build.Tasks.Pack.dll" Condition="'$(IsBuildOnlyXPLATProjects)' != 'true'">
<PackagePath>$(PackagePathDir)</PackagePath>
</TfmSpecificPackageFile>
<TfmSpecificPackageFile Include="$(OutputPath)\$(ILMergeSubpath)**\NuGet*.resources.dll">
<PackagePath>$(PackagePathDir)</PackagePath>
</TfmSpecificPackageFile>
- </ItemGroup>
+ <TfmSpecificPackageFile Include="$(OutputPath)\$(ILMergeSubpath)NuGet*.dll" Condition="'$(IsBuildOnlyXPLATProjects)' == 'true'">
+ <PackagePath>$(PackagePathDir)</PackagePath>
+ </TfmSpecificPackageFile>
+ </ItemGroup>
</Target>
<Import Project="$(BuildCommonDirectory)common.targets"/>
--
2.29.2

View file

@ -0,0 +1,26 @@
From 046e225f600b1bdb37d6e05985db77ff894802fe Mon Sep 17 00:00:00 2001
From: MichaelSimons <msimons@microsoft.com>
Date: Tue, 14 Sep 2021 17:01:16 +0000
Subject: [PATCH] Pin System.Reflection.Metadata version for crossgen
Resolution to the root cause of https://github.com/dotnet/runtime/issues/58800
---
.../ILCompiler.TypeSystem.ReadyToRun.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/coreclr/tools/aot/ILCompiler.TypeSystem.ReadyToRun/ILCompiler.TypeSystem.ReadyToRun.csproj b/src/coreclr/tools/aot/ILCompiler.TypeSystem.ReadyToRun/ILCompiler.TypeSystem.ReadyToRun.csproj
index 82452cfa3e9..23cbbd5ad9f 100644
--- a/src/coreclr/tools/aot/ILCompiler.TypeSystem.ReadyToRun/ILCompiler.TypeSystem.ReadyToRun.csproj
+++ b/src/coreclr/tools/aot/ILCompiler.TypeSystem.ReadyToRun/ILCompiler.TypeSystem.ReadyToRun.csproj
@@ -30,7 +30,7 @@
<Version>4.3.0</Version>
</PackageReference>
<PackageReference Include="System.Reflection.Metadata">
- <Version>$(SystemReflectionMetadataVersion)</Version>
+ <Version>5.0.0</Version>
</PackageReference>
<PackageReference Condition = "'$(EnableDiaSymReaderUse)' == 'true'" Include="Microsoft.DiaSymReader">
<Version>1.3.0</Version>
--
2.29.2

View file

@ -0,0 +1,30 @@
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

@ -204,15 +204,6 @@
BuildWithOnlineSources="$(BuildWithOnlineSources)"
KeepFeedPrefixes="@(KeepFeedPrefixes)" />
<!-- Temporarily add dotnet6 feed to all NuGet.Configs
until all repos build so that preview packages
referenced in TemporaryBootstrapPackageVersions.props
can be found. -->
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
SourceName="dotnet6-temporary"
SourcePath="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json"
Condition=" '$(BuildWithOnlineSources)' == 'true' " />
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
SourceName="prebuilt"
SourcePath="$(PrebuiltPackagesPath)"

View file

@ -78,7 +78,6 @@
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="PreviouslySourceBuiltPackageVersions.props" Condition="Exists('PreviouslySourceBuiltPackageVersions.props')" />
<Import Project="$(ProjectDir)TemporaryBootstrapPackageVersions.props" Condition="Exists('$(ProjectDir)TemporaryBootstrapPackageVersions.props')" />
<Import Project="CurrentSourceBuiltPackageVersions.props" Condition="Exists('CurrentSourceBuiltPackageVersions.props')" />
</Project>
]]>