From 33cd9e6ca05b304c54b9c584cdeee2a8fe2930ad Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Fri, 6 Dec 2024 16:56:33 +0100 Subject: [PATCH 01/15] Change the Windows dev versions leg to x86 This gives us better coverage as it tests the case when the host architecture is different from the target architecture. I.e. here we are running on a win-x64 build with a win-x64 host (SDK) and target win-x86 (target). --- eng/pipelines/templates/stages/vmr-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/templates/stages/vmr-build.yml b/eng/pipelines/templates/stages/vmr-build.yml index 5c019fb997f4..5b33cff3555c 100644 --- a/eng/pipelines/templates/stages/vmr-build.yml +++ b/eng/pipelines/templates/stages/vmr-build.yml @@ -387,10 +387,10 @@ stages: buildName: Windows_DevVersions isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} vmrBranch: ${{ variables.VmrBranch }} - architecture: x64 + architecture: x86 pool: ${{ parameters.pool_Windows }} targetOS: windows - targetArchitecture: x64 + targetArchitecture: x86 useDevVersions: true # Use dev versions for CI validation of the experience. runTests: false # Temporarily do not run tests. The nuget comparison fails for some non-obvious reason and needs further investigation. Mostly, I'm not sure why it ever passed. https://github.com/dotnet/sdk/issues/42920 From 10f60fbdc8f41d588c905a6eb8a17385c54d97d9 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Sat, 7 Dec 2024 11:10:36 +0100 Subject: [PATCH 02/15] Pass down target rid and sdk rid properties --- src/SourceBuild/content/repo-projects/Directory.Build.props | 5 +++++ src/SourceBuild/content/repo-projects/razor.proj | 2 -- src/SourceBuild/content/repo-projects/roslyn.proj | 3 ++- src/SourceBuild/content/repo-projects/runtime.proj | 1 - src/SourceBuild/content/repo-projects/sdk.proj | 1 - 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/SourceBuild/content/repo-projects/Directory.Build.props b/src/SourceBuild/content/repo-projects/Directory.Build.props index c21f5ad17a46..8862f38bbb0c 100644 --- a/src/SourceBuild/content/repo-projects/Directory.Build.props +++ b/src/SourceBuild/content/repo-projects/Directory.Build.props @@ -81,6 +81,11 @@ $(BuildArgs) /p:DotNetBuildOrchestrator=true + + $(BuildArgs) /p:TargetRid=$(TargetRid) + $(BuildArgs) /p:NETCoreSdkPortableRuntimeIdentifier=$(TargetRid) + $(BuildArgs) /p:NETCoreSdkRuntimeIdentifier=$(TargetRid) + $(BuildArgs) /p:DotNetBuildPass=$(DotNetBuildPass) diff --git a/src/SourceBuild/content/repo-projects/razor.proj b/src/SourceBuild/content/repo-projects/razor.proj index cdd00ec7c5b1..b587cd61786a 100644 --- a/src/SourceBuild/content/repo-projects/razor.proj +++ b/src/SourceBuild/content/repo-projects/razor.proj @@ -4,8 +4,6 @@ $(BuildArgs) /p:UsingToolMicrosoftNetCompilers=false - - $(BuildArgs) /p:TargetRid=$(TargetRid) diff --git a/src/SourceBuild/content/repo-projects/roslyn.proj b/src/SourceBuild/content/repo-projects/roslyn.proj index 0d7b27c74b62..0b5a42c0cb44 100644 --- a/src/SourceBuild/content/repo-projects/roslyn.proj +++ b/src/SourceBuild/content/repo-projects/roslyn.proj @@ -11,6 +11,7 @@ $(ProjectDirectory)build$(ShellExtension) + $(BuildArgs) $(FlagParameterPrefix)officialBuildId $(OfficialBuildId) $(BuildArgs) $(FlagParameterPrefix)officialSkipTests true @@ -18,8 +19,8 @@ $(BuildArgs) $(FlagParameterPrefix)officialSourceBranchName placeholder $(BuildArgs) $(FlagParameterPrefix)officialVisualStudioDropAccessToken placeholder + - $(BuildArgs) /p:TargetRid=$(TargetRid) $(BuildArgs) /p:TreatWarningsAsErrors=false $(BuildArgs) /p:ApplyPartialNgenOptimization=false $(BuildArgs) /p:EnablePartialNgenOptimization=false diff --git a/src/SourceBuild/content/repo-projects/runtime.proj b/src/SourceBuild/content/repo-projects/runtime.proj index 5c187068e132..d1e2e17126ef 100644 --- a/src/SourceBuild/content/repo-projects/runtime.proj +++ b/src/SourceBuild/content/repo-projects/runtime.proj @@ -8,7 +8,6 @@ $(BuildArgs) $(FlagParameterPrefix)arch $(TargetArchitecture) $(BuildArgs) $(FlagParameterPrefix)os $(TargetOS) - $(BuildArgs) /p:TargetRid=$(TargetRid) $(BuildArgs) /p:DotNetBuildRuntimeWasmEnableThreads=true $(BuildArgs) /p:DotNetBuildRuntimeNativeAOTRuntimePack=true $(BuildArgs) /p:DotNetBuildMonoEnableLLVM=$(DotNetBuildMonoEnableLLVM) diff --git a/src/SourceBuild/content/repo-projects/sdk.proj b/src/SourceBuild/content/repo-projects/sdk.proj index 43b19d1b5456..295c234c8359 100644 --- a/src/SourceBuild/content/repo-projects/sdk.proj +++ b/src/SourceBuild/content/repo-projects/sdk.proj @@ -6,7 +6,6 @@ $(BuildArgs) -nativeToolsOnMachine $(BuildArgs) /p:PackageProjectUrl=https://github.com/dotnet/sdk $(BuildArgs) /p:PortableRid=$(PortableRid) - $(BuildArgs) /p:TargetRid=$(TargetRid) $(BuildArgs) $(FlagParameterPrefix)v $(LogVerbosity) From 9e0410759fcaf2c58f41b98600fb7e4b64bee1a8 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Sun, 8 Dec 2024 11:41:26 +0100 Subject: [PATCH 03/15] Don't set sdk RID properties for short stack builds --- .../content/repo-projects/Directory.Build.props | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/SourceBuild/content/repo-projects/Directory.Build.props b/src/SourceBuild/content/repo-projects/Directory.Build.props index 8862f38bbb0c..c077f1a85ad3 100644 --- a/src/SourceBuild/content/repo-projects/Directory.Build.props +++ b/src/SourceBuild/content/repo-projects/Directory.Build.props @@ -83,8 +83,11 @@ $(BuildArgs) /p:TargetRid=$(TargetRid) - $(BuildArgs) /p:NETCoreSdkPortableRuntimeIdentifier=$(TargetRid) - $(BuildArgs) /p:NETCoreSdkRuntimeIdentifier=$(TargetRid) + + $(BuildArgs) /p:NETCoreSdkPortableRuntimeIdentifier=$(TargetRid) + $(BuildArgs) /p:NETCoreSdkRuntimeIdentifier=$(TargetRid) $(BuildArgs) /p:DotNetBuildPass=$(DotNetBuildPass) From a044257a49dbbd56f7bde693d3140e2d1b49e639 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Sun, 8 Dec 2024 12:05:17 +0100 Subject: [PATCH 04/15] source-only condition --- .../content/repo-projects/Directory.Build.props | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/SourceBuild/content/repo-projects/Directory.Build.props b/src/SourceBuild/content/repo-projects/Directory.Build.props index c077f1a85ad3..4203204a3a52 100644 --- a/src/SourceBuild/content/repo-projects/Directory.Build.props +++ b/src/SourceBuild/content/repo-projects/Directory.Build.props @@ -85,9 +85,11 @@ $(BuildArgs) /p:TargetRid=$(TargetRid) - $(BuildArgs) /p:NETCoreSdkPortableRuntimeIdentifier=$(TargetRid) - $(BuildArgs) /p:NETCoreSdkRuntimeIdentifier=$(TargetRid) + that consume live runtime but is generally desirable as it makes the vertical build more pure by not depending + on artifacts from a different RID (even if pre-built). Exclude from source-only builds which don't use the portable + RID format which causes the ProcessFrameworkReferences not be able to restore for the given RID. --> + $(BuildArgs) /p:NETCoreSdkPortableRuntimeIdentifier=$(TargetRid) + $(BuildArgs) /p:NETCoreSdkRuntimeIdentifier=$(TargetRid) $(BuildArgs) /p:DotNetBuildPass=$(DotNetBuildPass) From ec94327f18ad4a3c5471283e3472f3c20dafcc3b Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 12 Dec 2024 16:17:45 +0100 Subject: [PATCH 05/15] Disable crossgen in sdk for VMR non-source-only builds --- src/SourceBuild/content/repo-projects/sdk.proj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/SourceBuild/content/repo-projects/sdk.proj b/src/SourceBuild/content/repo-projects/sdk.proj index d695a4e12586..63f9009b2f15 100644 --- a/src/SourceBuild/content/repo-projects/sdk.proj +++ b/src/SourceBuild/content/repo-projects/sdk.proj @@ -38,6 +38,9 @@ $(BuildArgs) /p:FallbackPublicBaseURL=https://dotnetbuilds.blob.core.windows.net/public/ $(BuildArgs) /p:UsePortableLinuxSharedFramework=false + + $(BuildArgs) /p:DISABLE_CROSSGEN=true + $(BuildArgs) /p:PgoInstrument=true $(BuildArgs) /p:DISABLE_CROSSGEN=true From 93178c685207076605e418afab1d486bfea5cf92 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 12 Dec 2024 18:12:28 +0100 Subject: [PATCH 06/15] Add patch for Empty.targets addition --- .../patches/arcade/0002-Update-Empty.targets | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/SourceBuild/patches/arcade/0002-Update-Empty.targets diff --git a/src/SourceBuild/patches/arcade/0002-Update-Empty.targets b/src/SourceBuild/patches/arcade/0002-Update-Empty.targets new file mode 100644 index 000000000000..f5b7ed105244 --- /dev/null +++ b/src/SourceBuild/patches/arcade/0002-Update-Empty.targets @@ -0,0 +1,28 @@ +From c3e8e58ce8d6aa758835d8d4c25cfa3ff21adad0 Mon Sep 17 00:00:00 2001 +From: Viktor Hofer +Date: Thu, 12 Dec 2024 18:10:30 +0100 +Subject: [PATCH] Add ProcessFrameworkReferences target to Empty.targets + +First of all, I hate this whole filtering model. It's super hacky and constantly causes issues. https://github.com/dotnet/source-build/issues/4047 tracks this. + +Here we need to also empty the `ProcessFrameworkReferences` target as it still runs as it has a Before/AfterTargets hook. Keep it running is causing issues when RuntimeIdentifier is set to a custom value even though the project should be excluded. + +Unblocks https://github.com/dotnet/sdk/pull/45362 + +Backport: https://github.com/dotnet/arcade/pull/15333 + +--- + src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets +index 2a4227950..fd18c0474 100644 +--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets ++++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets +@@ -22,5 +22,6 @@ + + + ++ + + From 668fff898c4636087aba73fe37f91557d6954aef Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Tue, 7 Jan 2025 18:24:16 +0100 Subject: [PATCH 07/15] Set DotNetBuildTargetRidOnly property --- .../repo-projects/Directory.Build.targets | 18 ++- ...set-rid-for-project-for-live-runtime.patch | 135 ++++++++++++++++++ .../patches/arcade/0002-Update-Empty.targets | 28 ---- 3 files changed, 150 insertions(+), 31 deletions(-) create mode 100644 src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch delete mode 100644 src/SourceBuild/patches/arcade/0002-Update-Empty.targets diff --git a/src/SourceBuild/content/repo-projects/Directory.Build.targets b/src/SourceBuild/content/repo-projects/Directory.Build.targets index bb29224dbc4e..eaac4d7a649f 100644 --- a/src/SourceBuild/content/repo-projects/Directory.Build.targets +++ b/src/SourceBuild/content/repo-projects/Directory.Build.targets @@ -37,8 +37,6 @@ - $(BuildScript) $(BuildActions) $(BuildArgs) - $(ArtifactsLogRepoDir)$(RepositoryName).log @@ -449,6 +447,18 @@ + + + + $(BuildArgs) /p:DotNetBuildTargetRidOnly=true + + $(BuildScript) $(BuildActions) $(BuildArgs) + + + + SetSourceBuiltSdkOverrides; + SetBuildProperties"> @@ -734,6 +745,7 @@ This replaces the existing `DotNetBuildOffline` switch. | + | DotNetBuildSourceOnly | "true", "false", "" | "" | When "true", build only from source. Online sources may remain unless `DotNetBuildOffline` is set to true. This is both an infrastructure and a product switch.
This is roughly equivalent to `DotNetBuildFromSource` in the current infrastructure, though other controls may be better suited. | ++| DotNetBuildTargetRidOnly | "true", "false", "" | "" | When not set, defaults to "true" if the repository build transitively depends on dotnet/runtime and `DotNetBuildOrchestrator` == "true"; otherwise "false". When "true", builds projects for the current `TargetRid` instead of using the current runtime identifier. | + + ### Output Controls + +diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets +new file mode 100644 +index 000000000..84b2020b6 +--- /dev/null ++++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets +@@ -0,0 +1,4 @@ ++ ++ ++ ++ +diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets +new file mode 100644 +index 000000000..c1fcbf9cc +--- /dev/null ++++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets +@@ -0,0 +1,64 @@ ++ ++ ++ ++ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == ''">$(EnableArcadeRuntimeIdentifierInference) ++ ++ ++ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == '' and '$(RuntimeIdentifier)' != ''">false ++ ++ ++ <_RidAgnosticProject Condition="('$(OutputType)' == 'Library' or '$(IsTestProject)' == 'true') and '$(RuntimeIdentifiers)' == ''">true ++ ++ ++ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == '' and ('$(IsRidAgnostic)' == 'true' or '$(_RidAgnosticProject)' == 'true')">false ++ ++ ++ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == '' and '$(DotNetBuildTargetRidOnly)' == 'true'">true ++ ++ <_EnableArcadeRuntimeIdentifierFilters Condition="'$(EnableArcadeRuntimeIdentifierFilters)' != ''">$(EnableArcadeRuntimeIdentifierFilters) ++ ++ ++ <_EnableArcadeRuntimeIdentifierFilters Condition="'$(_EnableArcadeRuntimeIdentifierFilters)' == '' and '$(_EnableArcadeRuntimeIdentifierInference)' == 'true'">$(_EnableArcadeRuntimeIdentifierFilters) ++ ++ ++ ++ ++ false ++ $(TargetRid) ++ ++ ++ true ++ ++ ++ ++ ++ <_ExplicitlySpecifiedRuntimeIdentifiers>;$(RuntimeIdentifiers); ++ ++ ++ <_FilterRuntimeIdentifier>$(TargetRid) ++ ++ <_FilterRuntimeIdentifier Condition="'$(BaseOS)' != ''">$(BaseOS) ++ ++ ++ <_SuppressAllTargets Condition="'$(DisableArcadeExcludeFromBuildSupport)' != 'true' and $(_ExplicitlySpecifiedRuntimeIdentifiers).Contains(';$(_FilterRuntimeIdentifier);')) == 'false'">true ++ ++ ++ $(RuntimeIdentifier) ++ ++ +diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props +index b19ed1c3e..0b1d6c41d 100644 +--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props ++++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props +@@ -6,6 +6,7 @@ + <_ArcadeOverriddenCustomBeforeMicrosoftCommonCrossTargetingTargets>$(CustomBeforeMicrosoftCommonCrossTargetingTargets) + $(MSBuildThisFileDirectory)BeforeCommonTargets.targets + $(MSBuildThisFileDirectory)BeforeCommonTargets.CrossTargeting.targets ++ $(BeforeMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)BeforeNETSdkTargets.targets + +diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets +index 76e314d1f..a94d4e5ac 100644 +--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets ++++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets +@@ -55,6 +55,7 @@ + - DotNetBuildSourceOnly - Build from source only. Pass through outer build value if present. --> + $(InnerBuildArgs) /p:DotNetBuildInnerRepo=true + $(InnerBuildArgs) /p:DotNetBuildSourceOnly=$(DotNetBuildSourceOnly) ++ $(InnerBuildArgs) /p:DotNetBuildTargetRidOnly=$(DotNetBuildTargetRidOnly) + + $(InnerBuildArgs) /p:RepoRoot="$(InnerSourceBuildRepoRoot)$(_DirSeparatorEscapedCharForExecArg)" + diff --git a/src/SourceBuild/patches/arcade/0002-Update-Empty.targets b/src/SourceBuild/patches/arcade/0002-Update-Empty.targets deleted file mode 100644 index f5b7ed105244..000000000000 --- a/src/SourceBuild/patches/arcade/0002-Update-Empty.targets +++ /dev/null @@ -1,28 +0,0 @@ -From c3e8e58ce8d6aa758835d8d4c25cfa3ff21adad0 Mon Sep 17 00:00:00 2001 -From: Viktor Hofer -Date: Thu, 12 Dec 2024 18:10:30 +0100 -Subject: [PATCH] Add ProcessFrameworkReferences target to Empty.targets - -First of all, I hate this whole filtering model. It's super hacky and constantly causes issues. https://github.com/dotnet/source-build/issues/4047 tracks this. - -Here we need to also empty the `ProcessFrameworkReferences` target as it still runs as it has a Before/AfterTargets hook. Keep it running is causing issues when RuntimeIdentifier is set to a custom value even though the project should be excluded. - -Unblocks https://github.com/dotnet/sdk/pull/45362 - -Backport: https://github.com/dotnet/arcade/pull/15333 - ---- - src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets -index 2a4227950..fd18c0474 100644 ---- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets -+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets -@@ -22,5 +22,6 @@ - - - -+ - - From d645ca25017ac27b3478ae5a5194cd8a9c6e3f0a Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Tue, 7 Jan 2025 18:31:21 +0100 Subject: [PATCH 08/15] Fixess --- .../content/repo-projects/Directory.Build.props | 7 ------- .../content/repo-projects/Directory.Build.targets | 8 +++++--- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/SourceBuild/content/repo-projects/Directory.Build.props b/src/SourceBuild/content/repo-projects/Directory.Build.props index 306e80425ba9..47877aaf59ff 100644 --- a/src/SourceBuild/content/repo-projects/Directory.Build.props +++ b/src/SourceBuild/content/repo-projects/Directory.Build.props @@ -83,13 +83,6 @@ $(BuildArgs) /p:TargetRid=$(TargetRid) - - $(BuildArgs) /p:NETCoreSdkPortableRuntimeIdentifier=$(TargetRid) - $(BuildArgs) /p:NETCoreSdkRuntimeIdentifier=$(TargetRid) $(BuildArgs) /p:DotNetBuildPass=$(DotNetBuildPass) diff --git a/src/SourceBuild/content/repo-projects/Directory.Build.targets b/src/SourceBuild/content/repo-projects/Directory.Build.targets index eaac4d7a649f..43e787589a8f 100644 --- a/src/SourceBuild/content/repo-projects/Directory.Build.targets +++ b/src/SourceBuild/content/repo-projects/Directory.Build.targets @@ -451,9 +451,11 @@ DependsOnTargets="GetTransitiveRepositoryReferences"> - $(BuildArgs) /p:DotNetBuildTargetRidOnly=true + and filter down RID lists to the target RID in such a scenario. This is necessary when the host (SDK) rid + is different from the target rid, i.e. when building win-x86 with a win-x64 SDK but only when consuming + live runtime. Exclude from source-only builds which don't use the portable RID format which causes the + ProcessFrameworkReferences not be able to restore for the given RID. --> + $(BuildArgs) /p:DotNetBuildTargetRidOnly=true $(BuildScript) $(BuildActions) $(BuildArgs) From 1b31f912661a1dd7397323a76dba6f548927cb9a Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Tue, 7 Jan 2025 19:01:52 +0100 Subject: [PATCH 09/15] Update patch --- .../arcade/0001-set-rid-for-project-for-live-runtime.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch b/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch index ae8a1414c895..b8724403399e 100644 --- a/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch +++ b/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch @@ -1,11 +1,11 @@ -From 900ca947aa1aaa2c0d5f1b01fbe43fd212fbdeff Mon Sep 17 00:00:00 2001 +From 15baa0ae30a0fd2b3d2baad1ebbf2d79ef08281a Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Thu, 2 Jan 2025 12:19:02 -0800 Subject: [PATCH] Infer the projects runtime identifier as the vertical's RID when doing a vertical build and filter down RID lists to the target RID in such a scenario. -Backport: https://github.com/dotnet/arcade/pull/15371 + Backport: https://github.com/dotnet/arcade/pull/15371 --- .../UnifiedBuild/Unified-Build-Controls.md | 1 + From 45d07b55c88e63239e53c4e987617d4b49454ee7 Mon Sep 17 00:00:00 2001 From: Premek Vysoky Date: Wed, 8 Jan 2025 09:56:12 +0100 Subject: [PATCH 10/15] Change the patch to LF only --- ...set-rid-for-project-for-live-runtime.patch | 270 +++++++++--------- 1 file changed, 135 insertions(+), 135 deletions(-) diff --git a/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch b/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch index b8724403399e..668f56b9090a 100644 --- a/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch +++ b/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch @@ -1,135 +1,135 @@ -From 15baa0ae30a0fd2b3d2baad1ebbf2d79ef08281a Mon Sep 17 00:00:00 2001 -From: Jeremy Koritzinsky -Date: Thu, 2 Jan 2025 12:19:02 -0800 -Subject: [PATCH] Infer the projects runtime identifier as the vertical's RID - when doing a vertical build and filter down RID lists to the target RID in - such a scenario. - - Backport: https://github.com/dotnet/arcade/pull/15371 - ---- - .../UnifiedBuild/Unified-Build-Controls.md | 1 + - .../tools/BeforeNETSdkTargets.targets | 4 ++ - ...ifierInference.BeforeNETSdkTargets.targets | 64 +++++++++++++++++++ - .../tools/Settings.props | 1 + - .../SourceBuildArcadeBuild.targets | 1 + - 5 files changed, 71 insertions(+) - create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets - create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets - -diff --git a/Documentation/UnifiedBuild/Unified-Build-Controls.md b/Documentation/UnifiedBuild/Unified-Build-Controls.md -index 809d94443..872e14167 100644 ---- a/Documentation/UnifiedBuild/Unified-Build-Controls.md -+++ b/Documentation/UnifiedBuild/Unified-Build-Controls.md -@@ -135,6 +135,7 @@ These controls may be used for **infrastructure or product purposes**. - | -------- | -------- | -------- | -------- | - | DotNetBuildWithOnlineSources | "true", "false", "" | "false" by default when `SourceOnly` switch is active. | When "true", do not remove non-local input sources. Infrastructure switch only. This switch is only exposed at the orchestrator level.
This replaces the existing `DotNetBuildOffline` switch. | - | DotNetBuildSourceOnly | "true", "false", "" | "" | When "true", build only from source. Online sources may remain unless `DotNetBuildOffline` is set to true. This is both an infrastructure and a product switch.
This is roughly equivalent to `DotNetBuildFromSource` in the current infrastructure, though other controls may be better suited. | -+| DotNetBuildTargetRidOnly | "true", "false", "" | "" | When not set, defaults to "true" if the repository build transitively depends on dotnet/runtime and `DotNetBuildOrchestrator` == "true"; otherwise "false". When "true", builds projects for the current `TargetRid` instead of using the current runtime identifier. | - - ### Output Controls - -diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets -new file mode 100644 -index 000000000..84b2020b6 ---- /dev/null -+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets -@@ -0,0 +1,4 @@ -+ -+ -+ -+ -diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets -new file mode 100644 -index 000000000..c1fcbf9cc ---- /dev/null -+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets -@@ -0,0 +1,64 @@ -+ -+ -+ -+ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == ''">$(EnableArcadeRuntimeIdentifierInference) -+ -+ -+ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == '' and '$(RuntimeIdentifier)' != ''">false -+ -+ -+ <_RidAgnosticProject Condition="('$(OutputType)' == 'Library' or '$(IsTestProject)' == 'true') and '$(RuntimeIdentifiers)' == ''">true -+ -+ -+ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == '' and ('$(IsRidAgnostic)' == 'true' or '$(_RidAgnosticProject)' == 'true')">false -+ -+ -+ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == '' and '$(DotNetBuildTargetRidOnly)' == 'true'">true -+ -+ <_EnableArcadeRuntimeIdentifierFilters Condition="'$(EnableArcadeRuntimeIdentifierFilters)' != ''">$(EnableArcadeRuntimeIdentifierFilters) -+ -+ -+ <_EnableArcadeRuntimeIdentifierFilters Condition="'$(_EnableArcadeRuntimeIdentifierFilters)' == '' and '$(_EnableArcadeRuntimeIdentifierInference)' == 'true'">$(_EnableArcadeRuntimeIdentifierFilters) -+ -+ -+ -+ -+ false -+ $(TargetRid) -+ -+ -+ true -+ -+ -+ -+ -+ <_ExplicitlySpecifiedRuntimeIdentifiers>;$(RuntimeIdentifiers); -+ -+ -+ <_FilterRuntimeIdentifier>$(TargetRid) -+ -+ <_FilterRuntimeIdentifier Condition="'$(BaseOS)' != ''">$(BaseOS) -+ -+ -+ <_SuppressAllTargets Condition="'$(DisableArcadeExcludeFromBuildSupport)' != 'true' and $(_ExplicitlySpecifiedRuntimeIdentifiers).Contains(';$(_FilterRuntimeIdentifier);')) == 'false'">true -+ -+ -+ $(RuntimeIdentifier) -+ -+ -diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props -index b19ed1c3e..0b1d6c41d 100644 ---- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props -+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props -@@ -6,6 +6,7 @@ - <_ArcadeOverriddenCustomBeforeMicrosoftCommonCrossTargetingTargets>$(CustomBeforeMicrosoftCommonCrossTargetingTargets) - $(MSBuildThisFileDirectory)BeforeCommonTargets.targets - $(MSBuildThisFileDirectory)BeforeCommonTargets.CrossTargeting.targets -+ $(BeforeMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)BeforeNETSdkTargets.targets - -diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets -index 76e314d1f..a94d4e5ac 100644 ---- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets -+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets -@@ -55,6 +55,7 @@ - - DotNetBuildSourceOnly - Build from source only. Pass through outer build value if present. --> - $(InnerBuildArgs) /p:DotNetBuildInnerRepo=true - $(InnerBuildArgs) /p:DotNetBuildSourceOnly=$(DotNetBuildSourceOnly) -+ $(InnerBuildArgs) /p:DotNetBuildTargetRidOnly=$(DotNetBuildTargetRidOnly) - - $(InnerBuildArgs) /p:RepoRoot="$(InnerSourceBuildRepoRoot)$(_DirSeparatorEscapedCharForExecArg)" - +From 15baa0ae30a0fd2b3d2baad1ebbf2d79ef08281a Mon Sep 17 00:00:00 2001 +From: Jeremy Koritzinsky +Date: Thu, 2 Jan 2025 12:19:02 -0800 +Subject: [PATCH] Infer the projects runtime identifier as the vertical's RID + when doing a vertical build and filter down RID lists to the target RID in + such a scenario. + + Backport: https://github.com/dotnet/arcade/pull/15371 + +--- + .../UnifiedBuild/Unified-Build-Controls.md | 1 + + .../tools/BeforeNETSdkTargets.targets | 4 ++ + ...ifierInference.BeforeNETSdkTargets.targets | 64 +++++++++++++++++++ + .../tools/Settings.props | 1 + + .../SourceBuildArcadeBuild.targets | 1 + + 5 files changed, 71 insertions(+) + create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets + create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets + +diff --git a/Documentation/UnifiedBuild/Unified-Build-Controls.md b/Documentation/UnifiedBuild/Unified-Build-Controls.md +index 809d94443..872e14167 100644 +--- a/Documentation/UnifiedBuild/Unified-Build-Controls.md ++++ b/Documentation/UnifiedBuild/Unified-Build-Controls.md +@@ -135,6 +135,7 @@ These controls may be used for **infrastructure or product purposes**. + | -------- | -------- | -------- | -------- | + | DotNetBuildWithOnlineSources | "true", "false", "" | "false" by default when `SourceOnly` switch is active. | When "true", do not remove non-local input sources. Infrastructure switch only. This switch is only exposed at the orchestrator level.
This replaces the existing `DotNetBuildOffline` switch. | + | DotNetBuildSourceOnly | "true", "false", "" | "" | When "true", build only from source. Online sources may remain unless `DotNetBuildOffline` is set to true. This is both an infrastructure and a product switch.
This is roughly equivalent to `DotNetBuildFromSource` in the current infrastructure, though other controls may be better suited. | ++| DotNetBuildTargetRidOnly | "true", "false", "" | "" | When not set, defaults to "true" if the repository build transitively depends on dotnet/runtime and `DotNetBuildOrchestrator` == "true"; otherwise "false". When "true", builds projects for the current `TargetRid` instead of using the current runtime identifier. | + + ### Output Controls + +diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets +new file mode 100644 +index 000000000..84b2020b6 +--- /dev/null ++++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets +@@ -0,0 +1,4 @@ ++ ++ ++ ++ +diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets +new file mode 100644 +index 000000000..c1fcbf9cc +--- /dev/null ++++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets +@@ -0,0 +1,64 @@ ++ ++ ++ ++ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == ''">$(EnableArcadeRuntimeIdentifierInference) ++ ++ ++ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == '' and '$(RuntimeIdentifier)' != ''">false ++ ++ ++ <_RidAgnosticProject Condition="('$(OutputType)' == 'Library' or '$(IsTestProject)' == 'true') and '$(RuntimeIdentifiers)' == ''">true ++ ++ ++ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == '' and ('$(IsRidAgnostic)' == 'true' or '$(_RidAgnosticProject)' == 'true')">false ++ ++ ++ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == '' and '$(DotNetBuildTargetRidOnly)' == 'true'">true ++ ++ <_EnableArcadeRuntimeIdentifierFilters Condition="'$(EnableArcadeRuntimeIdentifierFilters)' != ''">$(EnableArcadeRuntimeIdentifierFilters) ++ ++ ++ <_EnableArcadeRuntimeIdentifierFilters Condition="'$(_EnableArcadeRuntimeIdentifierFilters)' == '' and '$(_EnableArcadeRuntimeIdentifierInference)' == 'true'">$(_EnableArcadeRuntimeIdentifierFilters) ++ ++ ++ ++ ++ false ++ $(TargetRid) ++ ++ ++ true ++ ++ ++ ++ ++ <_ExplicitlySpecifiedRuntimeIdentifiers>;$(RuntimeIdentifiers); ++ ++ ++ <_FilterRuntimeIdentifier>$(TargetRid) ++ ++ <_FilterRuntimeIdentifier Condition="'$(BaseOS)' != ''">$(BaseOS) ++ ++ ++ <_SuppressAllTargets Condition="'$(DisableArcadeExcludeFromBuildSupport)' != 'true' and $(_ExplicitlySpecifiedRuntimeIdentifiers).Contains(';$(_FilterRuntimeIdentifier);')) == 'false'">true ++ ++ ++ $(RuntimeIdentifier) ++ ++ +diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props +index b19ed1c3e..0b1d6c41d 100644 +--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props ++++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Settings.props +@@ -6,6 +6,7 @@ + <_ArcadeOverriddenCustomBeforeMicrosoftCommonCrossTargetingTargets>$(CustomBeforeMicrosoftCommonCrossTargetingTargets) + $(MSBuildThisFileDirectory)BeforeCommonTargets.targets + $(MSBuildThisFileDirectory)BeforeCommonTargets.CrossTargeting.targets ++ $(BeforeMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)BeforeNETSdkTargets.targets + +diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets +index 76e314d1f..a94d4e5ac 100644 +--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets ++++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets +@@ -55,6 +55,7 @@ + - DotNetBuildSourceOnly - Build from source only. Pass through outer build value if present. --> + $(InnerBuildArgs) /p:DotNetBuildInnerRepo=true + $(InnerBuildArgs) /p:DotNetBuildSourceOnly=$(DotNetBuildSourceOnly) ++ $(InnerBuildArgs) /p:DotNetBuildTargetRidOnly=$(DotNetBuildTargetRidOnly) + + $(InnerBuildArgs) /p:RepoRoot="$(InnerSourceBuildRepoRoot)$(_DirSeparatorEscapedCharForExecArg)" + From 71ffc8986283b120b6881570388b04eb4e7e8ba5 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Wed, 8 Jan 2025 13:41:38 +0100 Subject: [PATCH 11/15] add arcade patch back until re-boostrap is complete --- .../arcade/0002-update-empty-targets.patch | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/SourceBuild/patches/arcade/0002-update-empty-targets.patch diff --git a/src/SourceBuild/patches/arcade/0002-update-empty-targets.patch b/src/SourceBuild/patches/arcade/0002-update-empty-targets.patch new file mode 100644 index 000000000000..b1646a364178 --- /dev/null +++ b/src/SourceBuild/patches/arcade/0002-update-empty-targets.patch @@ -0,0 +1,22 @@ +From c3e8e58ce8d6aa758835d8d4c25cfa3ff21adad0 Mon Sep 17 00:00:00 2001 +From: Viktor Hofer +Date: Thu, 12 Dec 2024 18:10:30 +0100 +Subject: [PATCH] Add ProcessFrameworkReferences target to Empty.targets + +Backport: https://github.com/dotnet/arcade/pull/15333 + +--- + src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets +index 2a4227950..fd18c0474 100644 +--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets ++++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets +@@ -22,5 +22,6 @@ + + + ++ + + \ No newline at end of file From 5a4e32329c34a7bbb70ef658ca7321e107796f6d Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Wed, 8 Jan 2025 14:35:12 +0100 Subject: [PATCH 12/15] Delete src/SourceBuild/patches/arcade/0002-update-empty-targets.patch --- .../arcade/0002-update-empty-targets.patch | 22 ------------------- 1 file changed, 22 deletions(-) delete mode 100644 src/SourceBuild/patches/arcade/0002-update-empty-targets.patch diff --git a/src/SourceBuild/patches/arcade/0002-update-empty-targets.patch b/src/SourceBuild/patches/arcade/0002-update-empty-targets.patch deleted file mode 100644 index b1646a364178..000000000000 --- a/src/SourceBuild/patches/arcade/0002-update-empty-targets.patch +++ /dev/null @@ -1,22 +0,0 @@ -From c3e8e58ce8d6aa758835d8d4c25cfa3ff21adad0 Mon Sep 17 00:00:00 2001 -From: Viktor Hofer -Date: Thu, 12 Dec 2024 18:10:30 +0100 -Subject: [PATCH] Add ProcessFrameworkReferences target to Empty.targets - -Backport: https://github.com/dotnet/arcade/pull/15333 - ---- - src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets -index 2a4227950..fd18c0474 100644 ---- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets -+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets -@@ -22,5 +22,6 @@ - - - -+ - - \ No newline at end of file From cf84fef43989607045f07b7b5557b56ee43cc5a2 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 16 Jan 2025 13:57:00 +0100 Subject: [PATCH 13/15] Update Arcade patch --- ...set-rid-for-project-for-live-runtime.patch | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch b/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch index 668f56b9090a..54d57dab139a 100644 --- a/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch +++ b/src/SourceBuild/patches/arcade/0001-set-rid-for-project-for-live-runtime.patch @@ -1,19 +1,19 @@ -From 15baa0ae30a0fd2b3d2baad1ebbf2d79ef08281a Mon Sep 17 00:00:00 2001 +From 0b326d7d0d266808c6109282c6417d26835ef648 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Thu, 2 Jan 2025 12:19:02 -0800 Subject: [PATCH] Infer the projects runtime identifier as the vertical's RID when doing a vertical build and filter down RID lists to the target RID in such a scenario. - Backport: https://github.com/dotnet/arcade/pull/15371 +Backport: https://github.com/dotnet/arcade/pull/15371 --- .../UnifiedBuild/Unified-Build-Controls.md | 1 + - .../tools/BeforeNETSdkTargets.targets | 4 ++ - ...ifierInference.BeforeNETSdkTargets.targets | 64 +++++++++++++++++++ + .../tools/BeforeNETSdkTargets.targets | 4 + + ...ifierInference.BeforeNETSdkTargets.targets | 79 +++++++++++++++++++ .../tools/Settings.props | 1 + .../SourceBuildArcadeBuild.targets | 1 + - 5 files changed, 71 insertions(+) + 5 files changed, 86 insertions(+) create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/BeforeNETSdkTargets.targets create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets @@ -41,10 +41,10 @@ index 000000000..84b2020b6 + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets new file mode 100644 -index 000000000..c1fcbf9cc +index 000000000..9eba3fad9 --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/RuntimeIdentifierInference.BeforeNETSdkTargets.targets -@@ -0,0 +1,64 @@ +@@ -0,0 +1,79 @@ + + + @@ -63,6 +63,21 @@ index 000000000..c1fcbf9cc + <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == '' and ('$(IsRidAgnostic)' == 'true' or '$(_RidAgnosticProject)' == 'true')">false + + ++ <_BuildFlavorRequiredRid ++ Condition=" ++ '$(SelfContained)' == 'true' or ++ ('$(_IsPublishing)' == 'true' and ++ ( ++ '$(PublishReadyToRun)' == 'true' or ++ '$(PublishSingleFile)' == 'true' or ++ '$(PublishAot)' == 'true' ++ ) ++ )">true ++ <_EnableArcadeRuntimeIdentifierInference Condition="'$(_EnableArcadeRuntimeIdentifierInference)' == '' and '$(_BuildFlavorRequiredRid)' != 'true'">false ++ ++ +- + $(TargetRid) +- win-x64;win-arm64;linux-x64;linux-arm64;linux-musl-x64;linux-musl-arm64;osx-x64;osx-arm64 ++ $(BaseOS) ++ win-x64;win-arm64;linux-x64;linux-arm64;linux-musl-x64;linux-musl-arm64;osx-x64;osx-arm64 + + true + From 2c4860e6198cc4fb3b6e0fdb9467c3b9645b8895 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Wed, 22 Jan 2025 14:11:14 +0100 Subject: [PATCH 15/15] Update patch and sdk project file --- src/SourceBuild/content/repo-projects/sdk.proj | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/SourceBuild/content/repo-projects/sdk.proj b/src/SourceBuild/content/repo-projects/sdk.proj index 48007a1096e4..f5f7cc67e817 100644 --- a/src/SourceBuild/content/repo-projects/sdk.proj +++ b/src/SourceBuild/content/repo-projects/sdk.proj @@ -1,4 +1,4 @@ - + true @@ -38,9 +38,6 @@ $(BuildArgs) /p:FallbackPublicBaseURL=https://dotnetbuilds.blob.core.windows.net/public/ $(BuildArgs) /p:UsePortableLinuxSharedFramework=false - - $(BuildArgs) /p:DISABLE_CROSSGEN=true - $(BuildArgs) /p:PgoInstrument=true $(BuildArgs) /p:DISABLE_CROSSGEN=true