diff --git a/src/NuGet.Core/NuGet.Build.Tasks/NuGet.props b/src/NuGet.Core/NuGet.Build.Tasks/NuGet.props index fe44d8077cb..cec99ecbab5 100644 --- a/src/NuGet.Core/NuGet.Build.Tasks/NuGet.props +++ b/src/NuGet.Core/NuGet.Build.Tasks/NuGet.props @@ -9,32 +9,33 @@ WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and Copyright (c) .NET Foundation. All rights reserved. *********************************************************************************************** --> + + - - <_DirectoryPackagesPropsFile Condition="'$(_DirectoryPackagesPropsFile)' == ''">Directory.Packages.props - <_DirectoryPackagesPropsBasePath Condition="'$(_DirectoryPackagesPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', '$(_DirectoryPackagesPropsFile)')) - $([MSBuild]::NormalizePath('$(_DirectoryPackagesPropsBasePath)', '$(_DirectoryPackagesPropsFile)')) + + + true - - true + + <_DirectoryPackagesPropsFile Condition="'$(_DirectoryPackagesPropsFile)' == ''">Directory.Packages.props + <_DirectoryPackagesPropsBasePath Condition="'$(_DirectoryPackagesPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', '$(_DirectoryPackagesPropsFile)')) + $([MSBuild]::NormalizePath('$(_DirectoryPackagesPropsBasePath)', '$(_DirectoryPackagesPropsFile)')) - + - + true + diff --git a/test/EndToEnd/Directory.Packages.props b/test/EndToEnd/Directory.Packages.props index 5f9708a97f3..42309161647 100644 --- a/test/EndToEnd/Directory.Packages.props +++ b/test/EndToEnd/Directory.Packages.props @@ -1,5 +1 @@ - - - false - - + \ No newline at end of file diff --git a/test/NuGet.Clients.Tests/NuGet.CommandLine.Test/RestoreNETCoreTest.cs b/test/NuGet.Clients.Tests/NuGet.CommandLine.Test/RestoreNETCoreTest.cs index ad3a6af65d4..fedff4b72a6 100644 --- a/test/NuGet.Clients.Tests/NuGet.CommandLine.Test/RestoreNETCoreTest.cs +++ b/test/NuGet.Clients.Tests/NuGet.CommandLine.Test/RestoreNETCoreTest.cs @@ -9184,6 +9184,7 @@ public async Task RestoreNetCore_CPVMProject_DirectDependencyCentralVersionChang "a", pathContext.SolutionRoot, NuGetFramework.Parse("net46")); + projectA.Properties.Add("ManagePackageVersionsCentrally", "true"); projectA.Properties.Add("RestoreLockedMode", "true"); projectA.Properties.Add("RestorePackagesWithLockFile", "true"); @@ -9268,6 +9269,7 @@ public async Task RestoreNetCore_CPVMProject_TransitiveDependencyCentralVersionC "a", pathContext.SolutionRoot, NuGetFramework.Parse("net46")); + projectA.Properties.Add("ManagePackageVersionsCentrally", "true"); projectA.Properties.Add("RestoreLockedMode", "true"); projectA.Properties.Add("RestorePackagesWithLockFile", "true"); @@ -9350,6 +9352,7 @@ public async Task RestoreNetCore_CPVMProject_RemovedCentralDirectDependency_Fail "a", pathContext.SolutionRoot, NuGetFramework.Parse("net46")); + projectA.Properties.Add("ManagePackageVersionsCentrally", "true"); projectA.Properties.Add("RestoreLockedMode", "true"); projectA.Properties.Add("RestorePackagesWithLockFile", "true"); @@ -9423,6 +9426,7 @@ public async Task RestoreNetCore_CPVMProject_RemovedCentralTransitiveDependency_ "a", pathContext.SolutionRoot, NuGetFramework.Parse("net46")); + projectA.Properties.Add("ManagePackageVersionsCentrally", "true"); projectA.Properties.Add("RestoreLockedMode", "true"); projectA.Properties.Add("RestorePackagesWithLockFile", "true"); @@ -9496,6 +9500,7 @@ public async Task RestoreNetCore_CPVMProject_MoveTransitiveDependnecyToCentralFi "a", pathContext.SolutionRoot, NuGetFramework.Parse("net46")); + projectA.Properties.Add("ManagePackageVersionsCentrally", "true"); projectA.Properties.Add("RestoreLockedMode", "true"); projectA.Properties.Add("RestorePackagesWithLockFile", "true"); @@ -9568,6 +9573,7 @@ public async Task RestoreNetCore_CPVMProject_AddRemoveNotProjectRelatedEntriesTo "a", pathContext.SolutionRoot, NuGetFramework.Parse("net46")); + projectA.Properties.Add("ManagePackageVersionsCentrally", "true"); projectA.Properties.Add("RestoreLockedMode", "true"); projectA.Properties.Add("RestorePackagesWithLockFile", "true"); @@ -9670,16 +9676,19 @@ public async Task RestoreNetCore_CPVMProject_DowngradedByCentralDirectDependency "a", pathContext.SolutionRoot, netcoreapp2); + projectA.Properties.Add("ManagePackageVersionsCentrally", "true"); var projectB = SimpleTestProjectContext.CreateNETCore( "b", pathContext.SolutionRoot, netcoreapp2); + projectB.Properties.Add("ManagePackageVersionsCentrally", "true"); var projectC = SimpleTestProjectContext.CreateNETCore( "c", pathContext.SolutionRoot, netcoreapp2); + projectC.Properties.Add("ManagePackageVersionsCentrally", "true"); var packageX100 = new SimpleTestPackageContext() { @@ -9812,7 +9821,8 @@ SimpleTestPackageContext createTestPackage(string name, string version, List $"{l.Name}.{l.Version}").OrderBy(n => n).ToList(); Assert.Equal(expectedLibraries, libraries); - var centralFileDependencyGroups = assetsFile + var centralfileDependencyGroups = assetsFile .CentralTransitiveDependencyGroups .SelectMany(g => g.TransitiveDependencies.Select(t => $"{g.FrameworkName}_{t.LibraryRange.Name}.{t.LibraryRange.VersionRange.OriginalString}")).ToList(); - var expectedCentralFileDependencyGroups = new List() { $"{framework.DotNetFrameworkName}_P.[3.0.0, )", $"{framework.DotNetFrameworkName}_S.[3.0.0, )" }; + var expectedCentralfileDependencyGroups = new List() { $"{framework.DotNetFrameworkName}_P.[3.0.0, )", $"{framework.DotNetFrameworkName}_S.[3.0.0, )" }; - Assert.Equal(expectedCentralFileDependencyGroups, centralFileDependencyGroups); + Assert.Equal(expectedCentralfileDependencyGroups, centralfileDependencyGroups); } } @@ -10062,6 +10072,7 @@ SimpleTestPackageContext createTestPackage(string name, string version, List $"{l.Name}.{l.Version}").OrderBy(n => n).ToList(); Assert.Equal(expectedLibraries, libraries); - var centralFileDependencyGroups = assetsFile + var centralfileDependencyGroups = assetsFile .CentralTransitiveDependencyGroups .SelectMany(g => g.TransitiveDependencies.Select(t => $"{g.FrameworkName}_{t.LibraryRange.Name}.{t.LibraryRange.VersionRange.OriginalString}")).ToList(); - Assert.Equal(0, centralFileDependencyGroups.Count); - } - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - [InlineData(null)] - public async Task RestoreNetCore_CPVMProject_ManagePackageVersionsCentrally_CanBeDisabled(bool? managePackageVersionsCentrally) - { - // Arrange - using var pathContext = new SimpleTestPathContext(); - - var solution = new SimpleTestSolutionContext(pathContext.SolutionRoot); - - var packageA = new SimpleTestPackageContext("A", "1.0.0"); - - await SimpleTestPackageUtility.CreateFolderFeedV3Async(pathContext.PackageSource, packageA); - - var projectA = SimpleTestProjectContext.CreateNETCore("projectA", pathContext.SolutionRoot, "net472"); - - if (managePackageVersionsCentrally is null || managePackageVersionsCentrally == true) - { - packageA.Version = null; - } - - projectA.AddPackageToAllFrameworks(packageA); - - solution.CentralPackageVersionsManagementFile = CentralPackageVersionsManagementFile.Create(pathContext.SolutionRoot, managePackageVersionsCentrally) - .SetPackageVersion("A", "1.0.0"); - - solution.Projects.Add(projectA); - solution.Create(pathContext.SolutionRoot); - - // Act - var result = Util.RestoreSolution(pathContext); - - // Assert - result.Success.Should().BeTrue(); - - var assetFileReader = new LockFileFormat(); - var assetsFile = assetFileReader.Read(projectA.AssetsFileOutputPath); - - assetsFile.Libraries.Select(l => $"{l.Name}.{l.Version}").Should().BeEquivalentTo(new string[] { "A.1.0.0" }); - - var targetFramework = assetsFile.PackageSpec.TargetFrameworks.Should().ContainSingle(); - - if (managePackageVersionsCentrally is null || managePackageVersionsCentrally == true) - { - targetFramework.Subject.Dependencies.Should().ContainSingle() - .Which.VersionCentrallyManaged.Should().BeTrue(); - - targetFramework.Subject.CentralPackageVersions.Should().ContainSingle() - .Which.Value.Should().Be(new CentralPackageVersion("A", VersionRange.Parse("1.0.0"))); - } - else - { - targetFramework.Subject.Dependencies.Should().ContainSingle() - .Which.VersionCentrallyManaged.Should().BeFalse(); - targetFramework.Subject.CentralPackageVersions.Should().BeEmpty(); + Assert.Equal(0, centralfileDependencyGroups.Count); } } @@ -10296,6 +10248,8 @@ public async Task RestoreNetCore_CPVMProject_WithVersionOverride_Succeeds() var projectA = SimpleTestProjectContext.CreateNETCore("projectA", pathContext.SolutionRoot, framework); + projectA.Properties.Add("ManagePackageVersionsCentrally", "true"); + await SimpleTestPackageUtility.CreateFolderFeedV3Async( pathContext.PackageSource, new[] @@ -10354,11 +10308,11 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( var libraries = assetsFile.Libraries.Select(l => $"{l.Name}.{l.Version}").OrderBy(n => n).ToList(); Assert.Equal(expectedLibraries, libraries); - var centralFileDependencyGroups = assetsFile + var centralfileDependencyGroups = assetsFile .CentralTransitiveDependencyGroups .SelectMany(g => g.TransitiveDependencies.Select(t => $"{g.FrameworkName}_{t.LibraryRange.Name}.{t.LibraryRange.VersionRange.OriginalString}")).ToList(); - Assert.Equal(0, centralFileDependencyGroups.Count); + Assert.Equal(0, centralfileDependencyGroups.Count); } } @@ -10375,6 +10329,7 @@ public async Task RestoreNetCore_CPVMProject_WithVersionOverrideDisabled_Fails() var projectA = SimpleTestProjectContext.CreateNETCore("projectA", pathContext.SolutionRoot, framework); + projectA.Properties.Add(ProjectBuildProperties.ManagePackageVersionsCentrally, bool.TrueString); projectA.Properties.Add(ProjectBuildProperties.CentralPackageVersionOverrideEnabled, bool.FalseString); await SimpleTestPackageUtility.CreateFolderFeedV3Async( @@ -11375,6 +11330,11 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( var xml = projectA.GetXML(); + ProjectFileUtils.AddProperty( + xml, + "ManagePackageVersionsCentrally", + "true"); + ProjectFileUtils.AddItem( xml, "PackageReference", @@ -11585,6 +11545,7 @@ SimpleTestProjectContext CreateProject(SimpleTestPathContext pathContext, string pathContext.SolutionRoot, "net472"); + projectContext.Properties.Add("ManagePackageVersionsCentrally", "true"); projectContext.Properties.Add("CentralPackageTransitivePinningEnabled", centralPackageTransitivePinningEnabled.ToString()); if (referencedProject != null) diff --git a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetAddPackageTests.cs b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetAddPackageTests.cs index b284c0b417d..886a57b8426 100644 --- a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetAddPackageTests.cs +++ b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetAddPackageTests.cs @@ -693,7 +693,12 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX100, packageX200); - var propsFile = @$""; + var propsFile = @$" + + true + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -736,7 +741,12 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX100, packageX200); - var propsFile = @$""; + var propsFile = @$" + + true + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -777,10 +787,14 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX200); var propsFile = @$" - - - -"; + + true + + + + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -824,10 +838,14 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX200); var propsFile = @$" - - - -"; + + true + + + + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -870,6 +888,9 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX100); var propsFile = @$" + + true + @@ -924,7 +945,12 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX100, packageX200); - var propsFile = @$""; + var propsFile = @$" + + true + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -981,7 +1007,12 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX100, packageX200); - var propsFile = @$""; + var propsFile = @$" + + true + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -1039,10 +1070,14 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX200); var propsFile = @$" - - - -"; + + true + + + + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -1064,11 +1099,13 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( File.WriteAllText(Path.Combine(pathContext.SolutionRoot, "projectA", "projectA.csproj"), projectContent); //Act - var result = _fixture.RunDotnetExpectSuccess(projectADirectory, $"add {projectA.ProjectPath} package {packageX} "); + var result = _fixture.RunDotnetExpectFailure(projectADirectory, $"add {projectA.ProjectPath} package {packageX} "); // Assert Assert.DoesNotContain("error: Projects that use central package version management should not define the version on the PackageReference items but on the PackageVersion items: X", result.Output); - Assert.Contains(@$"", File.ReadAllText(Path.Combine(pathContext.SolutionRoot, "Directory.Packages.props"))); + Assert.Contains(@$" + + ", File.ReadAllText(Path.Combine(pathContext.SolutionRoot, "Directory.Packages.props"))); Assert.Contains(@$" ", File.ReadAllText(Path.Combine(projectADirectory, "projectA.csproj"))); @@ -1098,10 +1135,14 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX200); var propsFile = @$" - - - -"; + + true + + + + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -1154,7 +1195,12 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX100, packageX200); - var propsFile = @$""; + var propsFile = @$" + + true + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -1211,7 +1257,12 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX100, packageX200); - var propsFile = @$""; + var propsFile = @$" + + true + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -1268,10 +1319,14 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX200); var propsFile = @$" - - - -"; + + true + + + + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -1297,7 +1352,9 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( // Assert Assert.DoesNotContain("error: Projects that use central package version management should not define the version on the PackageReference items but on the PackageVersion items: X", result.Output); - Assert.Contains(@$"", File.ReadAllText(Path.Combine(pathContext.SolutionRoot, "Directory.Packages.props"))); + Assert.Contains(@$" + + ", File.ReadAllText(Path.Combine(pathContext.SolutionRoot, "Directory.Packages.props"))); Assert.Contains(@$" ", File.ReadAllText(Path.Combine(projectADirectory, "projectA.csproj"))); @@ -1327,10 +1384,14 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX200); var propsFile = @$" - - - -"; + + true + + + + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -1387,10 +1448,14 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX200); var propsFile = @$" - - - -"; + + true + + + + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -1447,11 +1512,15 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX200); var propsFile = @$" - - - - -"; + + true + + + + + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -1503,7 +1572,12 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX100, packageX200); - var propsFile = @$""; + var propsFile = @$" + + true + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); @@ -1560,7 +1634,12 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( packageX100, packageX200); - var propsFile = @$""; + var propsFile = @$" + + true + + + "; solution.Projects.Add(projectA); solution.Create(pathContext.SolutionRoot); diff --git a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetListPackageTests.cs b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetListPackageTests.cs index 8dbd2cacaf8..0a3f80c8ba7 100644 --- a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetListPackageTests.cs +++ b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetListPackageTests.cs @@ -100,7 +100,10 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( var propsFile = @$" - + + true + + "; @@ -149,6 +152,9 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( var propsFile = @$" + + true + @@ -196,6 +202,9 @@ await SimpleTestPackageUtility.CreateFolderFeedV3Async( var propsFile = @$" + + true + diff --git a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetRestoreTests.cs b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetRestoreTests.cs index d4657da6c98..0000cdc318e 100644 --- a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetRestoreTests.cs +++ b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/DotnetRestoreTests.cs @@ -1758,6 +1758,10 @@ public async Task DotnetRestore_WithDuplicatePackageVersion_WarnsWithNU1506() using (var stream = File.Open(projectFile, FileMode.Open, FileAccess.ReadWrite)) { var xml = XDocument.Load(stream); + ProjectFileUtils.AddProperty( + xml, + "ManagePackageVersionsCentrally", + "true"); ProjectFileUtils.AddItem( xml, @@ -2302,6 +2306,10 @@ public async Task DotnetRestore_WithDuplicatePackageVersion_WithTreatWarningsAsE using (var stream = File.Open(projectFile, FileMode.Open, FileAccess.ReadWrite)) { var xml = XDocument.Load(stream); + ProjectFileUtils.AddProperty( + xml, + "ManagePackageVersionsCentrally", + "true"); ProjectFileUtils.AddItem( xml, @@ -2484,6 +2492,7 @@ public async Task DotnetRestore_CentralPackageVersionManagement_NoOps() { var xml = XDocument.Load(stream); ProjectFileUtils.SetTargetFrameworkForProject(xml, "TargetFrameworks", Constants.DefaultTargetFramework.GetShortFolderName()); + ProjectFileUtils.AddProperty(xml, "ManagePackageVersionsCentrally", "true"); ProjectFileUtils.AddItem( xml, diff --git a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/PackCommandTests.cs b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/PackCommandTests.cs index 136b46ebfc7..b856e143bc1 100644 --- a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/PackCommandTests.cs +++ b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/PackCommandTests.cs @@ -5202,10 +5202,10 @@ public void PackCommand_WhenUsingSemver2Version_NU5105_IsNotRaised() } [PlatformTheory(Platform.Windows)] - [InlineData(false)] - [InlineData(true)] + [InlineData("false")] + [InlineData("true")] [InlineData(null)] - public void PackCommand_PackProjectWithCentralTransitiveDependencies(bool? centralPackageTransitivePinningEnabled) + public void PackCommand_PackProjectWithCentralTransitiveDependencies(string CentralPackageTransitivePinningEnabled) { using (var testDirectory = msbuildFixture.CreateTestDirectory()) { @@ -5228,24 +5228,33 @@ public void PackCommand_PackProjectWithCentralTransitiveDependencies(bool? centr new Dictionary(), new Dictionary()); - if (centralPackageTransitivePinningEnabled.HasValue) + ProjectFileUtils.AddProperty( + xml, + ProjectBuildProperties.ManagePackageVersionsCentrally, + "true"); + + if (CentralPackageTransitivePinningEnabled != null) { ProjectFileUtils.AddProperty( xml, ProjectBuildProperties.CentralPackageTransitivePinningEnabled, - centralPackageTransitivePinningEnabled.ToString()); + CentralPackageTransitivePinningEnabled); } ProjectFileUtils.WriteXmlToFile(xml, stream); } // The test depends on the presence of these packages and their versions. - var directoryPackagesPropsName = Path.Combine(workingDirectory, "Directory.Packages.props"); + // Change to Directory.Packages.props when new cli that supports NuGet.props will be downloaded + var directoryPackagesPropsName = Path.Combine(workingDirectory, $"Directory.Build.props"); var directoryPackagesPropsContent = @" - - + + + + true + "; File.WriteAllText(directoryPackagesPropsName, directoryPackagesPropsContent); @@ -5266,7 +5275,7 @@ public void PackCommand_PackProjectWithCentralTransitiveDependencies(bool? centr Assert.Equal(1, dependencyGroups.Count); Assert.Equal(FrameworkConstants.CommonFrameworks.NetStandard20, dependencyGroups[0].TargetFramework); var packages = dependencyGroups[0].Packages.ToList(); - if (centralPackageTransitivePinningEnabled == true) + if (CentralPackageTransitivePinningEnabled == "true") { Assert.Equal(2, packages.Count); var moqPackage = packages.Where(p => p.Id.Equals("Moq", StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); diff --git a/test/NuGet.Core.FuncTests/Msbuild.Integration.Test/MsbuildIntegrationTestFixture.cs b/test/NuGet.Core.FuncTests/Msbuild.Integration.Test/MsbuildIntegrationTestFixture.cs index 855fba805f2..3f9494b5c80 100644 --- a/test/NuGet.Core.FuncTests/Msbuild.Integration.Test/MsbuildIntegrationTestFixture.cs +++ b/test/NuGet.Core.FuncTests/Msbuild.Integration.Test/MsbuildIntegrationTestFixture.cs @@ -99,13 +99,14 @@ public MsbuildIntegrationTestFixture() internal CommandRunnerResult RunMsBuild(string workingDirectory, string args, bool ignoreExitCode = false) { var restoreDllPath = Path.Combine(_testDir, "NuGet.Build.Tasks.dll"); + var nugetRestorePropsPath = Path.Combine(_testDir, "NuGet.props"); var nugetRestoreTargetsPath = Path.Combine(_testDir, "NuGet.targets"); // Uncomment to debug the msbuild call // _processEnvVars.Add("DEBUG_RESTORE_TASK", "true"); _processEnvVars["UNIT_TEST_RESTORE_TASK"] = bool.TrueString; var result = CommandRunner.Run(_msbuildPath.Value, workingDirectory, - $"/p:NuGetRestoreTargets={nugetRestoreTargetsPath} /p:RestoreTaskAssemblyFile={restoreDllPath} /p:ImportNuGetBuildTasksPackTargetsFromSdk=true {args}", + $"/p:NuGetPropsFile={nugetRestorePropsPath} /p:NuGetRestoreTargets={nugetRestoreTargetsPath} /p:RestoreTaskAssemblyFile={restoreDllPath} /p:ImportNuGetBuildTasksPackTargetsFromSdk=true {args}", environmentVariables: _processEnvVars); if (!ignoreExitCode) diff --git a/test/NuGet.Core.FuncTests/Msbuild.Integration.Test/MsbuildRestoreTaskTests.cs b/test/NuGet.Core.FuncTests/Msbuild.Integration.Test/MsbuildRestoreTaskTests.cs index 892a4e380d8..ce2d8469d3e 100644 --- a/test/NuGet.Core.FuncTests/Msbuild.Integration.Test/MsbuildRestoreTaskTests.cs +++ b/test/NuGet.Core.FuncTests/Msbuild.Integration.Test/MsbuildRestoreTaskTests.cs @@ -1300,6 +1300,9 @@ public void MsbuildRestore_WithLegacyCsproj_GlobalPackageReferencesAreProcessed( File.WriteAllText( Path.Combine(pathContext.SolutionRoot, "Directory.Packages.props"), @$" + + true + diff --git a/test/NuGet.Core.Tests/NuGet.CommandLine.Xplat.Tests/MSBuildAPIUtilityTests.cs b/test/NuGet.Core.Tests/NuGet.CommandLine.Xplat.Tests/MSBuildAPIUtilityTests.cs index b375d9063e5..c145e5416f9 100644 --- a/test/NuGet.Core.Tests/NuGet.CommandLine.Xplat.Tests/MSBuildAPIUtilityTests.cs +++ b/test/NuGet.Core.Tests/NuGet.CommandLine.Xplat.Tests/MSBuildAPIUtilityTests.cs @@ -44,7 +44,13 @@ public void GetDirectoryBuildPropsRootElementWhenItExists_Success() ProjectCollection = projectCollection }; - File.WriteAllText(Path.Combine(testDirectory, "Directory.Packages.props"), @$""); + var propsFile = +@$" + + true + +"; + File.WriteAllText(Path.Combine(testDirectory, "Directory.Packages.props"), propsFile); string projectContent = @$" @@ -198,7 +204,13 @@ public void AddPackageVersionIntoPropsFileWhenItemGroupDoesNotExist_Success() }; // Arrange Directory.Packages.props file - File.WriteAllText(Path.Combine(testDirectory, "Directory.Packages.props"), ""); + var propsFile = +@$" + + true + +"; + File.WriteAllText(Path.Combine(testDirectory, "Directory.Packages.props"), propsFile); // Arrange project file string projectContent = @@ -259,8 +271,11 @@ public void AddPackageVersionIntoPropsFileWhenItemGroupExists_Success() // Arrange Directory.Packages.props file var propsFile = @$" + + true + - + "; File.WriteAllText(Path.Combine(testDirectory, "Directory.Packages.props"), propsFile); @@ -325,8 +340,11 @@ public void UpdatePackageVersionInPropsFileWhenItExists_Success() // Arrange Directory.Packages.props file var propsFile = @$" + + true + - + "; File.WriteAllText(Path.Combine(testDirectory, "Directory.Packages.props"), propsFile); @@ -391,8 +409,11 @@ public void UpdateVersionOverrideInPropsFileWhenItExists_Success() // Arrange Directory.Packages.props file var propsFile = @$" + + true + - + "; File.WriteAllText(Path.Combine(testDirectory, "Directory.Packages.props"), propsFile); diff --git a/test/TestUtilities/Test.Utility/CentralPackageVersionsManagementFile.cs b/test/TestUtilities/Test.Utility/CentralPackageVersionsManagementFile.cs index 590786e0027..14d6be8b377 100644 --- a/test/TestUtilities/Test.Utility/CentralPackageVersionsManagementFile.cs +++ b/test/TestUtilities/Test.Utility/CentralPackageVersionsManagementFile.cs @@ -17,7 +17,7 @@ public class CentralPackageVersionsManagementFile { private const string DirectoryPackagesProps = "Directory.Packages.props"; - private readonly bool? _managePackageVersionsCentrally; + private readonly bool _managePackageVersionsCentrally; private readonly Dictionary _packageVersions = new Dictionary(StringComparer.OrdinalIgnoreCase); @@ -25,7 +25,7 @@ public class CentralPackageVersionsManagementFile private readonly FileInfo _path; - private CentralPackageVersionsManagementFile(string directoryPath, bool? managePackageVersionsCentrally) + private CentralPackageVersionsManagementFile(string directoryPath, bool managePackageVersionsCentrally) { _path = new FileInfo(Path.Combine(directoryPath, DirectoryPackagesProps)); _managePackageVersionsCentrally = managePackageVersionsCentrally; @@ -47,7 +47,7 @@ private CentralPackageVersionsManagementFile(string directoryPath, bool? manageP /// The path to a directory to create the central package management in. /// to enable central package management (default), or to disable it. /// - public static CentralPackageVersionsManagementFile Create(string directoryPath, bool? managePackageVersionsCentrally = null) + public static CentralPackageVersionsManagementFile Create(string directoryPath, bool managePackageVersionsCentrally = true) { return new CentralPackageVersionsManagementFile(directoryPath, managePackageVersionsCentrally); } @@ -59,11 +59,6 @@ public static CentralPackageVersionsManagementFile Create(string directoryPath, /// The current . public CentralPackageVersionsManagementFile RemovePackageVersion(string packageId) { - if (_managePackageVersionsCentrally == false) - { - return this; - } - _packageVersions.Remove(packageId); IsDirty = true; @@ -76,13 +71,10 @@ public CentralPackageVersionsManagementFile RemovePackageVersion(string packageI /// public void Save() { - XElement managePackageVersionsCentrallyProperty = _managePackageVersionsCentrally is null - ? null - : new XElement("PropertyGroup", new XElement(ProjectBuildProperties.ManagePackageVersionsCentrally, new XText(_managePackageVersionsCentrally.ToString()))); - XDocument directoryPackagesPropsXml = new XDocument( new XElement("Project", - managePackageVersionsCentrallyProperty, + new XElement("PropertyGroup", + new XElement(ProjectBuildProperties.ManagePackageVersionsCentrally, new XText(_managePackageVersionsCentrally.ToString()))), new XElement("ItemGroup", _packageVersions.Select(i => new XElement("PackageVersion", new XAttribute("Include", i.Key), new XAttribute("Version", i.Value)))), new XElement("ItemGroup", _globalPackageReferences.Select(i => new XElement("GlobalPackageReference", new XAttribute("Include", i.Key), new XAttribute("Version", i.Value)))))); @@ -99,11 +91,6 @@ public void Save() /// The current . public CentralPackageVersionsManagementFile SetPackageVersion(string packageId, string packageVersion) { - if (_managePackageVersionsCentrally == false) - { - return this; - } - _packageVersions[packageId] = packageVersion; IsDirty = true; @@ -113,11 +100,6 @@ public CentralPackageVersionsManagementFile SetPackageVersion(string packageId, public CentralPackageVersionsManagementFile SetGlobalPackageReference(string packageId, string packageVersion) { - if (_managePackageVersionsCentrally == false) - { - return this; - } - _globalPackageReferences[packageId] = packageVersion; IsDirty = true; diff --git a/test/TestUtilities/Test.Utility/TestFileSystemUtility.cs b/test/TestUtilities/Test.Utility/TestFileSystemUtility.cs index 271a45d4f87..7b4ea688829 100644 --- a/test/TestUtilities/Test.Utility/TestFileSystemUtility.cs +++ b/test/TestUtilities/Test.Utility/TestFileSystemUtility.cs @@ -54,13 +54,7 @@ private static string GetRootDirectory() File.WriteAllText(Path.Combine(testDirectory.FullName, "Directory.Build.props"), ""); File.WriteAllText(Path.Combine(testDirectory.FullName, "Directory.Build.targets"), ""); File.WriteAllText(Path.Combine(testDirectory.FullName, "Directory.Build.rsp"), string.Empty); - File.WriteAllText( - Path.Combine(testDirectory.FullName, "Directory.Packages.props"), - @" - - false - -"); + File.WriteAllText(Path.Combine(testDirectory.FullName, "Directory.Packages.props"), ""); } catch (Exception) {