From b8f7bbf29cde7134a344a0b5b8ef24868f1eb8af Mon Sep 17 00:00:00 2001 From: Eric StJohn Date: Mon, 19 Jul 2021 10:22:02 -0700 Subject: [PATCH] Add support for repo-defined runtime.json for shared framework build --- .../src/ProcessSharedFrameworkDeps.cs | 5 ++++- .../targets/framework.sharedfx.targets | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk/src/ProcessSharedFrameworkDeps.cs b/src/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk/src/ProcessSharedFrameworkDeps.cs index a290dd3bab8..6b685cf647c 100644 --- a/src/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk/src/ProcessSharedFrameworkDeps.cs +++ b/src/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk/src/ProcessSharedFrameworkDeps.cs @@ -6,6 +6,7 @@ using Microsoft.Extensions.DependencyModel; using NuGet.Common; using NuGet.ProjectModel; +using NuGet.RuntimeModel; using System; using System.IO; using System.Linq; @@ -29,6 +30,8 @@ public partial class ProcessSharedFrameworkDeps : Task [Required] public string BuildTasksAssemblyPath { get; set; } + public string RuntimeIdentifierGraph { get; set; } + public override bool Execute() { EnsureInitialized(BuildTasksAssemblyPath); @@ -53,7 +56,7 @@ private void ExecuteCore() } var manager = new RuntimeGraphManager(); - var graph = manager.Collect(lockFile); + RuntimeGraph graph = string.IsNullOrEmpty(RuntimeIdentifierGraph) ? manager.Collect(lockFile) : JsonRuntimeFormat.ReadRuntimeGraph(RuntimeIdentifierGraph); var expandedGraph = manager.Expand(graph, Runtime); var trimmedRuntimeLibraries = context.RuntimeLibraries; diff --git a/src/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk/targets/framework.sharedfx.targets b/src/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk/targets/framework.sharedfx.targets index dcef2ebc4b2..aba60aa1282 100644 --- a/src/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk/targets/framework.sharedfx.targets +++ b/src/Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk/targets/framework.sharedfx.targets @@ -246,6 +246,7 @@ DepsFilePath="$(SharedFrameworkDepsDestinationFile)" PackagesToRemove="@(TrimPkgsFromDeps)" Runtime="$(RuntimeGraphGeneratorRuntime)" + RuntimeIdentifierGraph="$(BundledRuntimeIdentifierGraphFile)" BuildTasksAssemblyPath="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll" />