From afbf2c1efaba2c86a64c1b1af4aeec57dda7ac1c Mon Sep 17 00:00:00 2001 From: Michael Simons Date: Wed, 31 Mar 2021 18:29:56 -0500 Subject: [PATCH] ArPow stage 1: local source-build infrastructure (#31235) Conflicts: eng/Version.Details.xml Co-authored-by: John Luo --- eng/SourceBuild.props | 69 +++++++++++++ eng/SourceBuildPrebuiltBaseline.xml | 5 + eng/Version.Details.xml | 1 + eng/build.sh | 13 ++- ...-Conditionally-set-PackAsToolShimRID.patch | 28 ++++++ ...lude-some-projects-from-source-build.patch | 27 ++++++ ...-dependency-not-used-in-source-build.patch | 77 +++++++++++++++ ...nce-versions-of-source-built-package.patch | 42 ++++++++ .../0006-Add-FreeBSD.patch | 37 +++++++ ...Support-global.json-on-arm64-as-well.patch | 42 ++++++++ ...08-use-sourcebuildRID-to-find-clrjit.patch | 25 +++++ .../0011-Fix-a-couple-issues.patch | 96 +++++++++++++++++++ .../0012-Don-t-warn-on-CA1416.patch | 26 +++++ ...se-source-built-NuGet-for-repo-tasks.patch | 39 ++++++++ .../0017-Emit-RepoTasks.binlog.patch | 25 +++++ 15 files changed, 549 insertions(+), 3 deletions(-) create mode 100644 eng/SourceBuild.props create mode 100644 eng/SourceBuildPrebuiltBaseline.xml create mode 100644 eng/source-build-patches/0002-Conditionally-set-PackAsToolShimRID.patch create mode 100644 eng/source-build-patches/0003-Exclude-some-projects-from-source-build.patch create mode 100644 eng/source-build-patches/0004-Remove-Yarn-dependency-not-used-in-source-build.patch create mode 100644 eng/source-build-patches/0005-Revert-to-reference-versions-of-source-built-package.patch create mode 100644 eng/source-build-patches/0006-Add-FreeBSD.patch create mode 100644 eng/source-build-patches/0007-Support-global.json-on-arm64-as-well.patch create mode 100644 eng/source-build-patches/0008-use-sourcebuildRID-to-find-clrjit.patch create mode 100644 eng/source-build-patches/0011-Fix-a-couple-issues.patch create mode 100644 eng/source-build-patches/0012-Don-t-warn-on-CA1416.patch create mode 100644 eng/source-build-patches/0013-Use-source-built-NuGet-for-repo-tasks.patch create mode 100644 eng/source-build-patches/0017-Emit-RepoTasks.binlog.patch diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props new file mode 100644 index 000000000000..98f9b244c2af --- /dev/null +++ b/eng/SourceBuild.props @@ -0,0 +1,69 @@ + + + + aspnetcore + true + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(InnerBuildArgs) /p:SourceBuildRuntimeIdentifier=$(TargetRuntimeIdentifier) + + + + diff --git a/eng/SourceBuildPrebuiltBaseline.xml b/eng/SourceBuildPrebuiltBaseline.xml new file mode 100644 index 000000000000..c1b6dfbf0538 --- /dev/null +++ b/eng/SourceBuildPrebuiltBaseline.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 5f42865e28ee..e3b26244763a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -299,6 +299,7 @@ https://github.com/dotnet/arcade fd5f55c64d48b7894516cc841fba1253b2e79ffd + https://github.com/dotnet/arcade diff --git a/eng/build.sh b/eng/build.sh index 0721865b00a9..458f2ae643ac 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -21,6 +21,7 @@ run_pack=false run_tests=false build_all=false build_deps=true +only_build_repo_tasks=false build_repo_tasks=true build_managed='' build_native='' @@ -64,6 +65,7 @@ Options: Globbing patterns are supported, such as \"$(pwd)/**/*.csproj\". --no-build-deps Do not build project-to-project references and only build the specified project. --no-build-repo-tasks Suppress building RepoTasks. + --only-build-repo-tasks Only build RepoTasks. --all Build all project types. --[no-]build-native Build native projects (C, C++). Ignored in most cases i.e. with `dotnet msbuild`. @@ -195,6 +197,9 @@ while [[ $# -gt 0 ]]; do -no-build-repo-tasks|-nobuildrepotasks) build_repo_tasks=false ;; + -only-build-repo-tasks|-onlybuildrepotasks) + only_build_repo_tasks=true + ;; -arch) shift target_arch="${1:-}" @@ -366,8 +371,10 @@ if [ "$build_repo_tasks" = true ]; then ${toolset_build_args[@]+"${toolset_build_args[@]}"} fi -# This incantation avoids unbound variable issues if msbuild_args is empty -# https://stackoverflow.com/questions/7577052/bash-empty-array-expansion-with-set-u -MSBuild $_InitializeToolset -p:RepoRoot="$repo_root" ${msbuild_args[@]+"${msbuild_args[@]}"} +if [ "$only_build_repo_tasks" != true ]; then + # This incantation avoids unbound variable issues if msbuild_args is empty + # https://stackoverflow.com/questions/7577052/bash-empty-array-expansion-with-set-u + MSBuild $_InitializeToolset -p:RepoRoot="$repo_root" ${msbuild_args[@]+"${msbuild_args[@]}"} +fi ExitWithExitCode 0 diff --git a/eng/source-build-patches/0002-Conditionally-set-PackAsToolShimRID.patch b/eng/source-build-patches/0002-Conditionally-set-PackAsToolShimRID.patch new file mode 100644 index 000000000000..99a6483e9403 --- /dev/null +++ b/eng/source-build-patches/0002-Conditionally-set-PackAsToolShimRID.patch @@ -0,0 +1,28 @@ +From 64d2efe24308d9e8b99fdea60c92ee1115259506 Mon Sep 17 00:00:00 2001 +From: dseefeld +Date: Thu, 31 Oct 2019 20:38:26 +0000 +Subject: [PATCH 02/14] Conditionally set PackAsToolShimRID + +--- + Directory.Build.targets | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Directory.Build.targets b/Directory.Build.targets +index 4b72a52947..1a3b01e858 100644 +--- a/Directory.Build.targets ++++ b/Directory.Build.targets +@@ -52,6 +52,11 @@ + true + + ++ ++ ++ win-x64;win-x86 ++ ++ + + $(AssemblyName) + +Date: Thu, 4 Feb 2021 15:18:11 +0000 +Subject: [PATCH] Exclude some projects from source-build + +--- + Directory.Build.props | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Directory.Build.props b/Directory.Build.props +index 50d30f12fd..85c2f2428b 100644 +--- a/Directory.Build.props ++++ b/Directory.Build.props +@@ -27,7 +27,9 @@ + '$(IsTestAssetProject)' == 'true' OR + '$(IsBenchmarkProject)' == 'true' OR + '$(IsUnitTestProject)' == 'true'">false +- ++ true ++ true ++ + +- +- + + $(PackageId.Replace('@','').Replace('/','-')) + $(NormalizedPackageId)-$(PackageVersion).tgz +diff --git a/global.json b/global.json +index 501ba161bf..ee9dcaf4fa 100644 +--- a/global.json ++++ b/global.json +@@ -29,7 +29,6 @@ + "xcopy-msbuild": "16.5.0-alpha" + }, + "msbuild-sdks": { +- "Yarn.MSBuild": "1.22.10", + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21167.3", + "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21167.3" + } +diff --git a/src/Components/WebAssembly/Authentication.Msal/src/Microsoft.Authentication.WebAssembly.Msal.csproj b/src/Components/WebAssembly/Authentication.Msal/src/Microsoft.Authentication.WebAssembly.Msal.csproj +index 939ba16f88..ea2c849ea3 100644 +--- a/src/Components/WebAssembly/Authentication.Msal/src/Microsoft.Authentication.WebAssembly.Msal.csproj ++++ b/src/Components/WebAssembly/Authentication.Msal/src/Microsoft.Authentication.WebAssembly.Msal.csproj +@@ -1,7 +1,5 @@ + + +- +- + + $(DefaultNetCoreTargetFramework) + Authenticate your Blazor webassembly applications with Azure Active Directory and Azure Active Directory B2C +diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj b/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj +index 21a2efba4e..b4a6a75446 100644 +--- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj ++++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj +@@ -1,7 +1,5 @@ + + +- +- + + $(DefaultNetCoreTargetFramework) + Build client-side authentication for single-page applications (SPAs). +diff --git a/src/Shared/E2ETesting/E2ETesting.targets b/src/Shared/E2ETesting/E2ETesting.targets +index 76ced2cce9..eaecb913a9 100644 +--- a/src/Shared/E2ETesting/E2ETesting.targets ++++ b/src/Shared/E2ETesting/E2ETesting.targets +@@ -1,7 +1,4 @@ + +- +- +- + + + +-- +2.18.0 + diff --git a/eng/source-build-patches/0005-Revert-to-reference-versions-of-source-built-package.patch b/eng/source-build-patches/0005-Revert-to-reference-versions-of-source-built-package.patch new file mode 100644 index 000000000000..41a435e42bc8 --- /dev/null +++ b/eng/source-build-patches/0005-Revert-to-reference-versions-of-source-built-package.patch @@ -0,0 +1,42 @@ +From adef97cd8923986914006454777f9f96d48c3a42 Mon Sep 17 00:00:00 2001 +From: Chris Rummel +Date: Sun, 28 Jun 2020 18:41:22 +0000 +Subject: [PATCH 09/14] Use source-built version of MSBuild. + +--- + eng/Versions.props | 1 + + eng/tools/RepoTasks/RepoTasks.csproj | 6 +++--- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/eng/Versions.props b/eng/Versions.props +index 90bb9be..2266be5 100644 +--- a/eng/Versions.props ++++ b/eng/Versions.props +@@ -186,6 +186,7 @@ + + 1.0.0 + 16.9.0 ++ 16.9.0 + 1.2.0 + 16.9.0 + 1.2.6 +diff --git a/eng/tools/RepoTasks/RepoTasks.csproj b/eng/tools/RepoTasks/RepoTasks.csproj +index 7fa9957..3664366 100644 +--- a/eng/tools/RepoTasks/RepoTasks.csproj ++++ b/eng/tools/RepoTasks/RepoTasks.csproj +@@ -20,9 +20,9 @@ + + + +- +- +- ++ ++ ++ + + + +-- +2.18.0 + diff --git a/eng/source-build-patches/0006-Add-FreeBSD.patch b/eng/source-build-patches/0006-Add-FreeBSD.patch new file mode 100644 index 000000000000..ea1212f66b78 --- /dev/null +++ b/eng/source-build-patches/0006-Add-FreeBSD.patch @@ -0,0 +1,37 @@ +From d67aa83be72cbb1ca37aba992633da87235f397b Mon Sep 17 00:00:00 2001 +From: Tomas Weinfurt +Date: Wed, 13 Nov 2019 22:32:02 -0800 +Subject: [PATCH 06/14] Add FreeBSD + +--- + Directory.Build.props | 1 + + eng/Common.props | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/Directory.Build.props b/Directory.Build.props +index cd2dabcdba..53d90f2903 100644 +--- a/Directory.Build.props ++++ b/Directory.Build.props +@@ -159,6 +159,7 @@ + win-arm64; + osx-x64; + osx-arm64; ++ freebsd-x64; + linux-musl-x64; + linux-musl-arm; + linux-musl-arm64; +diff --git a/eng/Common.props b/eng/Common.props +index 7c489b15a9..a9a69bde9f 100644 +--- a/eng/Common.props ++++ b/eng/Common.props +@@ -3,6 +3,7 @@ + win + osx + linux ++ freebsd + x64 + $(TargetOsName)-$(TargetArchitecture) + +-- +2.18.0 + diff --git a/eng/source-build-patches/0007-Support-global.json-on-arm64-as-well.patch b/eng/source-build-patches/0007-Support-global.json-on-arm64-as-well.patch new file mode 100644 index 000000000000..d54f0281c15a --- /dev/null +++ b/eng/source-build-patches/0007-Support-global.json-on-arm64-as-well.patch @@ -0,0 +1,42 @@ +From ca706cd8670d14fae05b36ee83de716fa19d95ba Mon Sep 17 00:00:00 2001 +From: Omair Majid +Date: Wed, 23 Oct 2019 15:43:57 -0400 +Subject: [PATCH 07/14] Support global.json on arm64 as well + +arcade uses the runtime section of global.json to decide which +architecture + runtime combination needs to be installed. + +With https://github.com/dotnet/arcade/pull/4132 arcade can install +foreign SDKs in separate locations correctly. + +This change, suggested by @dougbu, makes arcade always install the +runtime for the local architecture (which means it should work on arm64 +and x64) as well as the x86 architecture (skipped on Linux). + +This gets us a working SDK/Runtime combo on arm64. +--- + global.json | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/global.json b/global.json +index ee9dcaf4fa..053e92ebee 100644 +--- a/global.json ++++ b/global.json +@@ -5,13 +5,10 @@ + "tools": { + "dotnet": "6.0.100-preview.3.21168.19", + "runtimes": { +- "dotnet/x64": [ ++ "dotnet": [ + "2.1.25", + "$(MicrosoftNETCoreBrowserDebugHostTransportVersion)" + ], +- "dotnet/x86": [ +- "$(MicrosoftNETCoreBrowserDebugHostTransportVersion)" +- ], + "aspnetcore/x64": [ + "3.1.13" + ] +-- +2.18.0 + diff --git a/eng/source-build-patches/0008-use-sourcebuildRID-to-find-clrjit.patch b/eng/source-build-patches/0008-use-sourcebuildRID-to-find-clrjit.patch new file mode 100644 index 000000000000..77f17bb5a972 --- /dev/null +++ b/eng/source-build-patches/0008-use-sourcebuildRID-to-find-clrjit.patch @@ -0,0 +1,25 @@ +From 2ac4c152b5c4409025dcbaf473b89a6094453e97 Mon Sep 17 00:00:00 2001 +From: adaggarwal +Date: Sat, 8 Feb 2020 06:43:48 +0000 +Subject: [PATCH 08/14] use-sourcebuildRID-to-find-clrjit + +--- + .../App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj +index 4199691fdb..6387557d8f 100644 +--- a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj ++++ b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj +@@ -411,7 +411,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant + + + $(RuntimePackageRoot)runtimes\$(RuntimeIdentifier)\native\$(LibPrefix)clrjit$(LibExtension) ++ Condition="'$(CrossCompileDirectory)' == ''">$(RuntimePackageRoot)runtimes\$(SourceBuildRuntimeIdentifier)\native\$(LibPrefix)clrjit$(LibExtension) + $(RuntimePackageRoot)runtimes\$(CrossCompileDirectory)\native\$(LibPrefix)clrjit$(LibExtension) + +-- +2.18.0 + diff --git a/eng/source-build-patches/0011-Fix-a-couple-issues.patch b/eng/source-build-patches/0011-Fix-a-couple-issues.patch new file mode 100644 index 000000000000..f32be5bebbd5 --- /dev/null +++ b/eng/source-build-patches/0011-Fix-a-couple-issues.patch @@ -0,0 +1,96 @@ +From 594c716ad8993df91b4cbade593b9bee7cacae47 Mon Sep 17 00:00:00 2001 +From: Chris Rummel +Date: Thu, 3 Sep 2020 06:29:25 -0500 +Subject: [PATCH 11/14] Fix a couple issues. + +--- + AspNetCore.sln | 2 - + src/Components/Components.slnf | 1 - + src/Components/ComponentsNoDeps.slnf | 1 - + .../Driver/Wasm.Performance.Driver.csproj | 37 ------------------- + 4 files changed, 41 deletions(-) + delete mode 100644 src/Components/benchmarkapps/Wasm.Performance/Driver/Wasm.Performance.Driver.csproj + +diff --git a/AspNetCore.sln b/AspNetCore.sln +index 06f5b1b4c6..4a7c2e59a8 100644 +--- a/AspNetCore.sln ++++ b/AspNetCore.sln +@@ -475,8 +475,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarkapps", "benchmarka + EndProject + Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Wasm.Performance", "Wasm.Performance", "{6276A9A0-791B-49C1-AD8F-50AC47CDC196}" + EndProject +-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wasm.Performance.Driver", "src\Components\benchmarkapps\Wasm.Performance\Driver\Wasm.Performance.Driver.csproj", "{B81C7FA1-870F-4F21-A928-A5BE18754E6E}" +-EndProject + Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wasm.Performance.TestApp", "src\Components\benchmarkapps\Wasm.Performance\TestApp\Wasm.Performance.TestApp.csproj", "{2AEACF69-7F68-414A-B49D-2C627D37D0F6}" + EndProject + Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.WebAssembly.Server.Tests", "src\Components\WebAssembly\Server\test\Microsoft.AspNetCore.Components.WebAssembly.Server.Tests.csproj", "{0C610220-E00C-4752-98A0-44A3D4B96A21}" +diff --git a/src/Components/Components.slnf b/src/Components/Components.slnf +index d023481b95..a28aa122b1 100644 +--- a/src/Components/Components.slnf ++++ b/src/Components/Components.slnf +@@ -37,7 +37,6 @@ + "src\\Components\\WebAssembly\\testassets\\WasmLinkerTest.csproj", + "src\\Components\\Web\\src\\Microsoft.AspNetCore.Components.Web.csproj", + "src\\Components\\Web\\test\\Microsoft.AspNetCore.Components.Web.Tests.csproj", +- "src\\Components\\benchmarkapps\\Wasm.Performance\\Driver\\Wasm.Performance.Driver.csproj", + "src\\Components\\benchmarkapps\\Wasm.Performance\\TestApp\\Wasm.Performance.TestApp.csproj", + "src\\Components\\test\\E2ETest\\Microsoft.AspNetCore.Components.E2ETests.csproj", + "src\\Components\\test\\testassets\\BasicTestApp\\BasicTestApp.csproj", +diff --git a/src/Components/ComponentsNoDeps.slnf b/src/Components/ComponentsNoDeps.slnf +index 7cf830b329..82e51fba83 100644 +--- a/src/Components/ComponentsNoDeps.slnf ++++ b/src/Components/ComponentsNoDeps.slnf +@@ -39,7 +39,6 @@ + "src\\Components\\Web\\src\\Microsoft.AspNetCore.Components.Web.csproj", + "src\\Components\\Web\\test\\Microsoft.AspNetCore.Components.Web.Tests.csproj", + "src\\Components\\benchmarkapps\\Wasm.Performance\\ConsoleHost\\Wasm.Performance.ConsoleHost.csproj", +- "src\\Components\\benchmarkapps\\Wasm.Performance\\Driver\\Wasm.Performance.Driver.csproj", + "src\\Components\\benchmarkapps\\Wasm.Performance\\TestApp\\Wasm.Performance.TestApp.csproj", + "src\\Components\\test\\E2ETest\\Microsoft.AspNetCore.Components.E2ETests.csproj", + "src\\Components\\test\\testassets\\BasicTestApp\\BasicTestApp.csproj", +diff --git a/src/Components/benchmarkapps/Wasm.Performance/Driver/Wasm.Performance.Driver.csproj b/src/Components/benchmarkapps/Wasm.Performance/Driver/Wasm.Performance.Driver.csproj +deleted file mode 100644 +index 346ddc48f1..0000000000 +--- a/src/Components/benchmarkapps/Wasm.Performance/Driver/Wasm.Performance.Driver.csproj ++++ /dev/null +@@ -1,37 +0,0 @@ +- +- +- +- $(DefaultNetCoreTargetFramework) +- exe +- +- false +- +- false +- true +- linux-x64 +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- <_Parameter1>TestAppLocatiion +- <_Parameter2>$(MSBuildThisFileDirectory)..\TestApp\ +- +- +- +- +- +-- +2.18.0 + diff --git a/eng/source-build-patches/0012-Don-t-warn-on-CA1416.patch b/eng/source-build-patches/0012-Don-t-warn-on-CA1416.patch new file mode 100644 index 000000000000..87415782f670 --- /dev/null +++ b/eng/source-build-patches/0012-Don-t-warn-on-CA1416.patch @@ -0,0 +1,26 @@ +From 446691a345e68861bd653c1be4b9111aafad5613 Mon Sep 17 00:00:00 2001 +From: dseefeld +Date: Thu, 8 Oct 2020 14:18:02 +0000 +Subject: [PATCH 12/14] Don't warn on CA1416 + +--- + Directory.Build.props | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/Directory.Build.props b/Directory.Build.props +index 53d90f2903..72cee68b4e 100644 +--- a/Directory.Build.props ++++ b/Directory.Build.props +@@ -102,6 +102,9 @@ + + + ++ ++ $(NoWarn);CA1416 + + $(NoWarn.Replace('1591', '')) + +-- +2.18.0 + diff --git a/eng/source-build-patches/0013-Use-source-built-NuGet-for-repo-tasks.patch b/eng/source-build-patches/0013-Use-source-built-NuGet-for-repo-tasks.patch new file mode 100644 index 000000000000..8c00f50d1be5 --- /dev/null +++ b/eng/source-build-patches/0013-Use-source-built-NuGet-for-repo-tasks.patch @@ -0,0 +1,39 @@ +From 1fa8097f1a6a49606c0aefad2763f3e0adf0e845 Mon Sep 17 00:00:00 2001 +From: Davis Goodin +Date: Fri, 6 Nov 2020 10:41:33 -0600 +Subject: [PATCH 13/14] Use source-built NuGet for repo tasks + +This allows us to use the source-built version of NuGet when we +have it, to avoid prebuilts. +--- + eng/Versions.props | 1 + + eng/tools/RepoTasks/RepoTasks.csproj | 2 +- + 2 files changed, 2 insertion(+), 1 deletion(-) + +diff --git a/eng/Versions.props b/eng/Versions.props +index 90bb9be..20a4c8c 100644 +--- a/eng/Versions.props ++++ b/eng/Versions.props +@@ -208,6 +208,7 @@ + 1.4.0 + 6.8.0 + 5.9.0 ++ 5.9.0 + 5.9.0 + 5.0.0-alpha.20560.6 + +diff --git a/eng/tools/RepoTasks/RepoTasks.csproj b/eng/tools/RepoTasks/RepoTasks.csproj +index 2b09f16594..657974b2b0 100644 +--- a/eng/tools/RepoTasks/RepoTasks.csproj ++++ b/eng/tools/RepoTasks/RepoTasks.csproj +@@ -15,7 +15,7 @@ + + + +- ++ + + + +-- +2.18.0 diff --git a/eng/source-build-patches/0017-Emit-RepoTasks.binlog.patch b/eng/source-build-patches/0017-Emit-RepoTasks.binlog.patch new file mode 100644 index 000000000000..79cc2f7ab9e4 --- /dev/null +++ b/eng/source-build-patches/0017-Emit-RepoTasks.binlog.patch @@ -0,0 +1,25 @@ +From 8f63217ad54ec431e398753b2bf745a1eb565e36 Mon Sep 17 00:00:00 2001 +From: Davis Goodin +Date: Mon, 21 Dec 2020 14:37:58 -0600 +Subject: [PATCH] Emit RepoTasks.binlog + +Lets us diagnose errors that occur while building RepoTasks.csproj. +--- + eng/build.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/eng/build.sh b/eng/build.sh +index 3c3cab39ce..029bb4f0c8 100755 +--- a/eng/build.sh ++++ b/eng/build.sh +@@ -363,6 +363,7 @@ if [ "$build_repo_tasks" = true ]; then + -p:Restore=$run_restore \ + -p:Build=true \ + -clp:NoSummary \ ++ -bl:RepoTasks.binlog \ + ${toolset_build_args[@]+"${toolset_build_args[@]}"} + fi + +-- +2.25.4 +