From 0936da11f5a153790315619f08e29c8a19099579 Mon Sep 17 00:00:00 2001 From: Jeff Kluge Date: Tue, 7 Feb 2023 13:00:27 -0800 Subject: [PATCH] Embed NuGet files in binlog after restore --- .../MSBuildStaticGraphRestore.cs | 22 +++++++++++++++++-- .../ConsoleOutLogMessageType.cs | 5 +++++ .../NuGet.Build.Tasks/GlobalSuppressions.cs | 2 ++ .../NuGet.Build.Tasks/NuGet.RestoreEx.targets | 13 ++++++++--- .../NuGet.Build.Tasks/NuGet.targets | 10 ++++++++- .../NuGet.Build.Tasks/RestoreTask.cs | 22 +++++++++++++++++++ .../StaticGraphRestoreTaskBase.cs | 22 ++++++++++++++++++- .../NuGet.Build.Tasks/TaskLoggingQueue.cs | 12 +++++++++- .../TaskLoggingQueueTests.cs | 8 ++++--- 9 files changed, 105 insertions(+), 11 deletions(-) diff --git a/src/NuGet.Core/NuGet.Build.Tasks.Console/MSBuildStaticGraphRestore.cs b/src/NuGet.Core/NuGet.Build.Tasks.Console/MSBuildStaticGraphRestore.cs index 744150fafac..564d0e83ccc 100644 --- a/src/NuGet.Core/NuGet.Build.Tasks.Console/MSBuildStaticGraphRestore.cs +++ b/src/NuGet.Core/NuGet.Build.Tasks.Console/MSBuildStaticGraphRestore.cs @@ -114,7 +114,7 @@ public async Task RestoreAsync(string entryProjectFilePath, IDictionary RestoreAsync(string entryProjectFilePath, IDictionary projects = dependencyGraphSpec.Projects; + + for (int i = 0; i < projects.Count; i++) + { + LoggingQueue.Enqueue(new ConsoleOutLogMessage + { + Message = projects[i].RestoreMetadata.OutputPath, + MessageType = ConsoleOutLogMessageType.RestoredProjectOutputPath + }); + } + } + + return result; } catch (Exception e) { diff --git a/src/NuGet.Core/NuGet.Build.Tasks/ConsoleOutLogMessageType.cs b/src/NuGet.Core/NuGet.Build.Tasks/ConsoleOutLogMessageType.cs index 9f0094454ba..9fdcd6ca032 100644 --- a/src/NuGet.Core/NuGet.Build.Tasks/ConsoleOutLogMessageType.cs +++ b/src/NuGet.Core/NuGet.Build.Tasks/ConsoleOutLogMessageType.cs @@ -27,5 +27,10 @@ public enum ConsoleOutLogMessageType /// The message is a message. /// Message, + + /// + /// The message is a restored project's output path. + /// + RestoredProjectOutputPath } } diff --git a/src/NuGet.Core/NuGet.Build.Tasks/GlobalSuppressions.cs b/src/NuGet.Core/NuGet.Build.Tasks/GlobalSuppressions.cs index 92b22ee6598..c0da1eba205 100644 --- a/src/NuGet.Core/NuGet.Build.Tasks/GlobalSuppressions.cs +++ b/src/NuGet.Core/NuGet.Build.Tasks/GlobalSuppressions.cs @@ -68,3 +68,5 @@ [assembly: SuppressMessage("Build", "CA1819:Properties should not return arrays", Justification = "", Scope = "member", Target = "~P:NuGet.Build.Tasks.WriteRestoreGraphTask.RestoreGraphItems")] [assembly: SuppressMessage("Performance", "CA1819:Properties should not return arrays", Justification = "MSBuild tasks expect arrays.", Scope = "member", Target = "~P:NuGet.Build.Tasks.CheckForDuplicateNuGetItemsTask.Items")] [assembly: SuppressMessage("Performance", "CA1819:Properties should not return arrays", Justification = "MSBuild tasks expect arrays.", Scope = "member", Target = "~P:NuGet.Build.Tasks.CheckForDuplicateNuGetItemsTask.DeduplicatedItems")] +[assembly: SuppressMessage("Performance", "CA1819:Properties should not return arrays", Justification = "MSBuild tasks expect arrays.", Scope = "member", Target = "~P:NuGet.Build.Tasks.RestoreTask.RestoredProjectOutputPaths")] +[assembly: SuppressMessage("Performance", "CA1819:Properties should not return arrays", Justification = "MSBuild tasks expect arrays.", Scope = "member", Target = "~P:NuGet.Build.Tasks.StaticGraphRestoreTaskBase.RestoredProjectOutputPaths")] diff --git a/src/NuGet.Core/NuGet.Build.Tasks/NuGet.RestoreEx.targets b/src/NuGet.Core/NuGet.Build.Tasks/NuGet.RestoreEx.targets index db38689806e..26a62230f07 100644 --- a/src/NuGet.Core/NuGet.Build.Tasks/NuGet.RestoreEx.targets +++ b/src/NuGet.Core/NuGet.Build.Tasks/NuGet.RestoreEx.targets @@ -31,8 +31,15 @@ Copyright (c) .NET Foundation. All rights reserved. RestorePackagesConfig="$(RestorePackagesConfig)" SolutionPath="$(SolutionPath)" ProcessFileName="$(NuGetConsoleProcessFileName)" - MSBuildStartupDirectory="$(MSBuildStartupDirectory)" - /> + MSBuildStartupDirectory="$(MSBuildStartupDirectory)"> + + + + + +