Skip to content

Commit a46cb37

Browse files
Forgindgithub-actions
authored and
github-actions
committed
Revert "Don't publish PrivateAssets Fixes #39400 (#45259)"
This reverts commit 25ad186, reversing changes made to 152a5d2.
1 parent 5aa4f46 commit a46cb37

File tree

6 files changed

+3
-81
lines changed

6 files changed

+3
-81
lines changed

src/Tasks/Microsoft.NET.Build.Tasks/DependencyContextBuilder.cs

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ internal class DependencyContextBuilder
2222
private Dictionary<string, List<ReferenceInfo>> _compileReferences;
2323
private Dictionary<string, List<ResolvedFile>> _resolvedNuGetFiles;
2424
private Dictionary<string, SingleProjectInfo> _referenceProjectInfos;
25-
private IEnumerable<string> _excludeFromPublishPackageIds;
2625
private Dictionary<string, List<RuntimePackAssetInfo>> _runtimePackAssets;
2726
private CompilationOptions _compilationOptions;
2827
private string _referenceAssembliesPath;
@@ -205,12 +204,6 @@ public DependencyContextBuilder WithReferenceProjectInfos(Dictionary<string, Sin
205204
return this;
206205
}
207206

208-
public DependencyContextBuilder WithExcludeFromPublishAssets(IEnumerable<string> excludeFromPublishPackageIds)
209-
{
210-
_excludeFromPublishPackageIds = excludeFromPublishPackageIds;
211-
return this;
212-
}
213-
214207
public DependencyContextBuilder WithMainProjectInDepsFile(bool includeMainProjectInDepsFile)
215208
{
216209
_includeMainProjectInDepsFile = includeMainProjectInDepsFile;
@@ -821,37 +814,6 @@ private void CalculateExcludedLibraries()
821814
{
822815
_dependencyLibraries[packageToExcludeFromRuntime].ExcludeFromRuntime = true;
823816
}
824-
825-
// Include transitive dependencies of all top-level dependencies
826-
Dictionary<string, DependencyLibrary> includedDependencies = new(StringComparer.OrdinalIgnoreCase);
827-
Stack<string> dependencyListToWalk = new(_mainProjectDependencies);
828-
829-
while (dependencyListToWalk.Count != 0)
830-
{
831-
var dependencyName = dependencyListToWalk.Pop();
832-
// There may not be a library in the assets file if a referenced project has
833-
// PrivateAssets="all" for a package reference, and there is a package in the graph
834-
// that depends on the same package.
835-
if (!includedDependencies.ContainsKey(dependencyName) &&
836-
_excludeFromPublishPackageIds?.Contains(dependencyName) != true &&
837-
_dependencyLibraries.TryGetValue(dependencyName, out var dependencyLibrary))
838-
{
839-
includedDependencies.Add(dependencyName, dependencyLibrary);
840-
foreach (var newDependency in _libraryDependencies[dependencyName])
841-
{
842-
dependencyListToWalk.Push(newDependency.Name);
843-
}
844-
}
845-
}
846-
847-
foreach (var dependencyLibrary in _dependencyLibraries.Values)
848-
{
849-
if (!includedDependencies.ContainsKey(dependencyLibrary.Name))
850-
{
851-
dependencyLibrary.ExcludeFromCompilation = true;
852-
dependencyLibrary.ExcludeFromRuntime = true;
853-
}
854-
}
855817
}
856818

857819
private string GetReferenceLibraryName(ReferenceInfo reference)

src/Tasks/Microsoft.NET.Build.Tasks/GenerateDepsFile.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@ public class GenerateDepsFile : TaskBase
6464

6565
public ITaskItem CompilerOptions { get; set; }
6666

67-
public ITaskItem[] ExcludeFromPublishPackageReferences { get; set; } = Array.Empty<ITaskItem>();
68-
6967
public ITaskItem[] RuntimeStorePackages { get; set; }
7068

7169
// NuGet compilation assets
@@ -234,7 +232,6 @@ bool ShouldIncludeRuntimeAsset(ITaskItem item)
234232
.WithDirectReferences(directReferences)
235233
.WithDependencyReferences(dependencyReferences)
236234
.WithReferenceProjectInfos(referenceProjects)
237-
.WithExcludeFromPublishAssets(PackageReferenceConverter.GetPackageIds(ExcludeFromPublishPackageReferences))
238235
.WithRuntimePackAssets(runtimePackAssets)
239236
.WithCompilationOptions(compilationOptions)
240237
.WithReferenceAssembliesPath(FrameworkReferenceResolver.GetDefaultReferenceAssembliesPath())

src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1251,7 +1251,6 @@ Copyright (c) .NET Foundation. All rights reserved.
12511251
PlatformLibraryName="$(MicrosoftNETPlatformLibrary)"
12521252
RuntimeFrameworks="@(RuntimeFramework)"
12531253
CompilerOptions="@(DependencyFileCompilerOptions)"
1254-
ExcludeFromPublishPackageReferences="@(_ExcludeFromPublishPackageReference)"
12551254
RuntimeStorePackages="@(RuntimeStorePackages)"
12561255
CompileReferences="@(ResolvedCompileFileDefinitions)"
12571256
ResolvedNuGetFiles="@(_ResolvedNuGetFilesForPublish)"

src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,6 @@ Copyright (c) .NET Foundation. All rights reserved.
335335
PlatformLibraryName="$(MicrosoftNETPlatformLibrary)"
336336
RuntimeFrameworks="@(RuntimeFramework)"
337337
CompilerOptions="@(DependencyFileCompilerOptions)"
338-
ExcludeFromPublishPackageReferences="@(_ExcludeFromPublishPackageReference)"
339338
CompileReferences="@(ResolvedCompileFileDefinitions)"
340339
ResolvedNuGetFiles="@(NativeCopyLocalItems);@(ResourceCopyLocalItems);@(RuntimeCopyLocalItems)"
341340
UserRuntimeAssemblies="@(UserRuntimeAssembly)"

test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildADesktopLibrary.cs

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -227,32 +227,6 @@ public void It_can_preserve_compilation_context_and_reference_netstandard_librar
227227
}
228228
}
229229

230-
[Theory]
231-
[InlineData("RazorSimpleMvc22", "netcoreapp2.2", "SimpleMvc22")]
232-
[InlineData("DesktopReferencingNetStandardLibrary", "net46", "Library")]
233-
public void PackageReferences_with_private_assets_do_not_appear_in_deps_file(string asset, string targetFramework, string exeName)
234-
{
235-
var testAsset = _testAssetsManager
236-
.CopyTestAsset(asset)
237-
.WithSource();
238-
239-
var buildCommand = new BuildCommand(testAsset);
240-
buildCommand.Execute().Should().Pass();
241-
242-
using (var depsJsonFileStream = File.OpenRead(Path.Combine(buildCommand.GetOutputDirectory(targetFramework).FullName, exeName + ".deps.json")))
243-
{
244-
var dependencyContext = new DependencyContextJsonReader().Read(depsJsonFileStream);
245-
if (asset.Equals("DesktopReferencingNetStandardLibrary"))
246-
{
247-
dependencyContext.CompileLibraries.Any(l => l.Name.Equals("Library")).Should().BeTrue();
248-
}
249-
else
250-
{
251-
dependencyContext.CompileLibraries.Any(l => l.Name.Equals("Microsoft.AspNetCore.App")).Should().BeFalse();
252-
}
253-
}
254-
}
255-
256230
[WindowsOnlyFact]
257231
public void It_resolves_assembly_conflicts_with_a_NETFramework_library()
258232
{

test/Microsoft.NET.Sdk.Razor.Tests/MvcBuildIntegrationTestLegacy.cs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,9 @@ public void Build_ProducesDepsFileWithCompilationContext_ButNoReferences()
115115
depsFile.Should().Exist();
116116
var dependencyContext = ReadDependencyContext(depsFile.FullName);
117117

118-
if (TargetFramework.Equals("netcoreapp2.2"))
119-
{
120-
// Ensure compile references from a PrivateAssets="all" PackageReference don't exist
121-
var packageReference = dependencyContext.CompileLibraries.FirstOrDefault(l => l.Name == "System.Runtime.CompilerServices.Unsafe", defaultValue: null);
122-
packageReference.Should().BeNull();
123-
}
124-
else
125-
{
126-
// Ensure some compile references exist
127-
var packageReference = dependencyContext.CompileLibraries.First(l => l.Name == "System.Runtime.CompilerServices.Unsafe");
128-
packageReference.Assemblies.Should().NotBeEmpty();
129-
}
118+
// Ensure some compile references exist
119+
var packageReference = dependencyContext.CompileLibraries.First(l => l.Name == "System.Runtime.CompilerServices.Unsafe");
120+
packageReference.Assemblies.Should().NotBeEmpty();
130121

131122
var projectReference = dependencyContext.CompileLibraries.First(l => l.Name == TestProjectName);
132123
projectReference.Assemblies.Should().NotBeEmpty();

0 commit comments

Comments
 (0)