dependabot-nuget 0.322.0 → 0.322.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Analyze.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Discover.cs +10 -23
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Run.cs +9 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Update.cs +15 -232
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs +1 -154
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/ExperimentsManager.cs +3 -12
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/AzurePackageDetailFinder.cs +30 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/DetailedPullRequestBodyGenerator.cs +237 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/GitHubPackageDetailFinder.cs +101 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/GitLabPackageDetailFinder.cs +107 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/HttpFetcher.cs +32 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IHttpFetcher.cs +30 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IPackageDetailFinder.cs +47 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IPullRequestBodyGenerator.cs +11 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/SimplePullRequestBodyGenerator.cs +15 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestTextGenerator.cs +7 -3
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs +3 -525
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/CreateSecurityUpdatePullRequestHandler.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/GroupUpdateAllVersionsHandler.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandler.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandler.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandler.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/FileWriterWorker.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/XmlFileWriter.cs +10 -3
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +1 -856
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +16 -200
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +6 -556
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Analyze/AnalyzeWorkerTests.cs +9 -73
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Clone/CloneWorkerTests.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/DependencySolver/MSBuildDependencySolverTests.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +1 -20
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs +3 -62
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs +13 -563
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +20 -267
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/SdkProjectDiscoveryTests.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/EndToEndTests.cs +131 -131
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MiscellaneousTests.cs +0 -203
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/DetailedPullRequestBodyGeneratorTests.cs +871 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/IPackageDetailFinderTests.cs +28 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/TestHttpFetcher.cs +23 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestTextTests.cs +3 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +6 -12
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/CreateSecurityUpdatePullRequestHandlerTests.cs +6 -6
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/GroupUpdateAllVersionsHandlerTests.cs +18 -18
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandlerTests.cs +15 -15
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandlerTests.cs +21 -21
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandlerTests.cs +15 -15
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/UpdateHandlersTestsBase.cs +1 -8
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests.cs +85 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackageReferenceUpdaterTests.cs +1 -159
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +10 -660
- metadata +16 -10
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunResult.cs +0 -13
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestMessageTests.cs +0 -296
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs +0 -3592
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdatePermittedAndMessageTests.cs +0 -457
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DirsProj.cs +0 -378
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterHelperTests.cs +0 -175
@@ -1,4 +1,3 @@
|
|
1
|
-
using System.Collections.Immutable;
|
2
1
|
using System.Text.Json;
|
3
2
|
|
4
3
|
using NuGetUpdater.Core.Run;
|
@@ -13,185 +12,6 @@ using TestFile = (string Path, string Content);
|
|
13
12
|
|
14
13
|
public class MSBuildHelperTests : TestBase
|
15
14
|
{
|
16
|
-
[Fact]
|
17
|
-
public void GetRootedValue_FindsValue()
|
18
|
-
{
|
19
|
-
// Arrange
|
20
|
-
var projectContents = """
|
21
|
-
<Project>
|
22
|
-
<PropertyGroup>
|
23
|
-
<TargetFramework>net8.0</TargetFramework>
|
24
|
-
</PropertyGroup>
|
25
|
-
<ItemGroup>
|
26
|
-
<PackageReference Include="Some.Package" Version="$(PackageVersion1)" />
|
27
|
-
</ItemGroup>
|
28
|
-
</Project>
|
29
|
-
""";
|
30
|
-
var propertyInfo = new Dictionary<string, Property>
|
31
|
-
{
|
32
|
-
{ "PackageVersion1", new("PackageVersion1", "1.1.1", "Packages.props") },
|
33
|
-
};
|
34
|
-
|
35
|
-
// Act
|
36
|
-
var (resultType, _, evaluatedValue, _, _) = MSBuildHelper.GetEvaluatedValue(projectContents, propertyInfo);
|
37
|
-
|
38
|
-
Assert.Equal(EvaluationResultType.Success, resultType);
|
39
|
-
|
40
|
-
// Assert
|
41
|
-
Assert.Equal("""
|
42
|
-
<Project>
|
43
|
-
<PropertyGroup>
|
44
|
-
<TargetFramework>net8.0</TargetFramework>
|
45
|
-
</PropertyGroup>
|
46
|
-
<ItemGroup>
|
47
|
-
<PackageReference Include="Some.Package" Version="1.1.1" />
|
48
|
-
</ItemGroup>
|
49
|
-
</Project>
|
50
|
-
""", evaluatedValue);
|
51
|
-
}
|
52
|
-
|
53
|
-
[Fact(Timeout = 1000)]
|
54
|
-
public async Task GetRootedValue_DoesNotRecurseAsync()
|
55
|
-
{
|
56
|
-
// Arrange
|
57
|
-
var projectContents = """
|
58
|
-
<Project>
|
59
|
-
<PropertyGroup>
|
60
|
-
<TargetFramework>net8.0</TargetFramework>
|
61
|
-
</PropertyGroup>
|
62
|
-
<ItemGroup>
|
63
|
-
<PackageReference Include="Some.Package" Version="$(PackageVersion1)" />
|
64
|
-
</ItemGroup>
|
65
|
-
</Project>
|
66
|
-
""";
|
67
|
-
var propertyInfo = new Dictionary<string, Property>
|
68
|
-
{
|
69
|
-
{ "PackageVersion1", new("PackageVersion1", "$(PackageVersion2)", "Packages.props") },
|
70
|
-
{ "PackageVersion2", new("PackageVersion2", "$(PackageVersion1)", "Packages.props") }
|
71
|
-
};
|
72
|
-
// This is needed to make the timeout work. Without that we could get caugth in an infinite loop.
|
73
|
-
await Task.Delay(1);
|
74
|
-
|
75
|
-
// Act
|
76
|
-
var (resultType, _, _, _, errorMessage) = MSBuildHelper.GetEvaluatedValue(projectContents, propertyInfo);
|
77
|
-
|
78
|
-
// Assert
|
79
|
-
Assert.Equal(EvaluationResultType.CircularReference, resultType);
|
80
|
-
Assert.Equal("Property 'PackageVersion1' has a circular reference.", errorMessage);
|
81
|
-
}
|
82
|
-
|
83
|
-
[Theory]
|
84
|
-
[MemberData(nameof(SolutionProjectPathTestData))]
|
85
|
-
public void ProjectPathsCanBeParsedFromSolutionFiles(string solutionContent, string[] expectedProjectSubPaths)
|
86
|
-
{
|
87
|
-
var solutionPath = Path.GetTempFileName();
|
88
|
-
var solutionDirectory = Path.GetDirectoryName(solutionPath)!;
|
89
|
-
try
|
90
|
-
{
|
91
|
-
File.WriteAllText(solutionPath, solutionContent);
|
92
|
-
var actualProjectSubPaths = MSBuildHelper.GetProjectPathsFromSolution(solutionPath).ToArray();
|
93
|
-
var expectedPaths = expectedProjectSubPaths.Select(path => Path.Combine(solutionDirectory, path)).ToArray();
|
94
|
-
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
|
95
|
-
{
|
96
|
-
// make the test happy when running on Windows
|
97
|
-
expectedPaths = expectedPaths.Select(p => p.Replace("/", "\\")).ToArray();
|
98
|
-
}
|
99
|
-
|
100
|
-
AssertEx.Equal(expectedPaths, actualProjectSubPaths);
|
101
|
-
}
|
102
|
-
finally
|
103
|
-
{
|
104
|
-
File.Delete(solutionPath);
|
105
|
-
}
|
106
|
-
}
|
107
|
-
|
108
|
-
[Theory]
|
109
|
-
[InlineData("<Project><PropertyGroup><TargetFramework>netstandard2.0</TargetFramework></PropertyGroup></Project>", "netstandard2.0", null)]
|
110
|
-
[InlineData("<Project><PropertyGroup><TargetFrameworks>netstandard2.0</TargetFrameworks></PropertyGroup></Project>", "netstandard2.0", null)]
|
111
|
-
[InlineData("<Project><PropertyGroup><TargetFrameworks> ; netstandard2.0 ; </TargetFrameworks></PropertyGroup></Project>", "netstandard2.0", null)]
|
112
|
-
[InlineData("<Project><PropertyGroup><TargetFrameworks>netstandard2.0 ; netstandard2.1 ; </TargetFrameworks></PropertyGroup></Project>", "netstandard2.0", "netstandard2.1")]
|
113
|
-
[InlineData("<Project><PropertyGroup><TargetFramework>netstandard2.0</TargetFramework><TargetFrameworkVersion Condition='False'>v4.7.2</TargetFrameworkVersion></PropertyGroup></Project>", "netstandard2.0", null)]
|
114
|
-
[InlineData("<Project><PropertyGroup><TargetFramework>$(PropertyThatCannotBeResolved)</TargetFramework></PropertyGroup></Project>", null, null)]
|
115
|
-
public async Task TfmsCanBeDeterminedFromProjectContents(string projectContents, string? expectedTfm1, string? expectedTfm2)
|
116
|
-
{
|
117
|
-
var projectPath = Path.GetTempFileName();
|
118
|
-
try
|
119
|
-
{
|
120
|
-
File.WriteAllText(projectPath, projectContents);
|
121
|
-
var expectedTfms = new[] { expectedTfm1, expectedTfm2 }.Where(tfm => tfm is not null).ToArray();
|
122
|
-
var (_buildFiles, actualTfms) = await MSBuildHelper.LoadBuildFilesAndTargetFrameworksAsync(Path.GetDirectoryName(projectPath)!, projectPath);
|
123
|
-
AssertEx.Equal(expectedTfms, actualTfms);
|
124
|
-
}
|
125
|
-
finally
|
126
|
-
{
|
127
|
-
File.Delete(projectPath);
|
128
|
-
}
|
129
|
-
}
|
130
|
-
|
131
|
-
[Fact]
|
132
|
-
public async Task IntermediatePropsAndTargetsAreExcludedFromBuildFileDiscovery()
|
133
|
-
{
|
134
|
-
// arrange
|
135
|
-
var repoFiles = new[]
|
136
|
-
{
|
137
|
-
("project.csproj", """
|
138
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
139
|
-
<PropertyGroup>
|
140
|
-
<TargetFramework>net9.0</TargetFramework>
|
141
|
-
</PropertyGroup>
|
142
|
-
<Import Project="SomeFile.props" />
|
143
|
-
<ItemGroup>
|
144
|
-
<PackageReference Include="Some.Package" Version="1.0.0" />
|
145
|
-
</ItemGroup>
|
146
|
-
</Project>
|
147
|
-
"""),
|
148
|
-
("global.json", "{}"),
|
149
|
-
("Directory.Build.props", "<Project />"),
|
150
|
-
("Directory.Build.targets", "<Project />"),
|
151
|
-
("SomeFile.props", "<Project />"),
|
152
|
-
// these simulate a direct discovery operation having previously been performed
|
153
|
-
("obj/project.csproj.nuget.g.props", "<Project />"),
|
154
|
-
("obj/project.csproj.nuget.g.targets", "<Project />"),
|
155
|
-
};
|
156
|
-
using var tempDir = await TemporaryDirectory.CreateWithContentsAsync(repoFiles);
|
157
|
-
var fullProjectPath = Path.Combine(tempDir.DirectoryPath, "project.csproj");
|
158
|
-
await UpdateWorkerTestBase.MockNuGetPackagesInDirectory([], tempDir.DirectoryPath);
|
159
|
-
|
160
|
-
// act
|
161
|
-
var (buildFiles, _tfms) = await MSBuildHelper.LoadBuildFilesAndTargetFrameworksAsync(tempDir.DirectoryPath, fullProjectPath);
|
162
|
-
|
163
|
-
// assert
|
164
|
-
var actualBuildFilePaths = buildFiles.Select(f => Path.GetRelativePath(tempDir.DirectoryPath, f.Path).NormalizePathToUnix()).ToArray();
|
165
|
-
var expectedBuildFilePaths = new[]
|
166
|
-
{
|
167
|
-
"project.csproj",
|
168
|
-
"Directory.Build.props",
|
169
|
-
"SomeFile.props",
|
170
|
-
"Directory.Build.targets",
|
171
|
-
};
|
172
|
-
AssertEx.Equal(expectedBuildFilePaths, actualBuildFilePaths);
|
173
|
-
}
|
174
|
-
|
175
|
-
[Theory]
|
176
|
-
[MemberData(nameof(GetTopLevelPackageDependencyInfosTestData))]
|
177
|
-
public async Task TopLevelPackageDependenciesCanBeDetermined(TestFile[] buildFileContents, Dependency[] expectedTopLevelDependencies, MockNuGetPackage[] testPackages)
|
178
|
-
{
|
179
|
-
using var testDirectory = new TemporaryDirectory();
|
180
|
-
var buildFiles = new List<ProjectBuildFile>();
|
181
|
-
|
182
|
-
await UpdateWorkerTestBase.MockNuGetPackagesInDirectory(testPackages, testDirectory.DirectoryPath);
|
183
|
-
|
184
|
-
foreach (var (path, content) in buildFileContents)
|
185
|
-
{
|
186
|
-
var fullPath = Path.Combine(testDirectory.DirectoryPath, path);
|
187
|
-
await File.WriteAllTextAsync(fullPath, content);
|
188
|
-
buildFiles.Add(ProjectBuildFile.Parse(testDirectory.DirectoryPath, fullPath, content));
|
189
|
-
}
|
190
|
-
|
191
|
-
var actualTopLevelDependencies = MSBuildHelper.GetTopLevelPackageDependencyInfos(buildFiles.ToImmutableArray());
|
192
|
-
AssertEx.Equal(expectedTopLevelDependencies, actualTopLevelDependencies);
|
193
|
-
}
|
194
|
-
|
195
15
|
[Theory]
|
196
16
|
[InlineData(true)]
|
197
17
|
[InlineData(false)]
|
@@ -209,8 +29,7 @@ public class MSBuildHelperTests : TestBase
|
|
209
29
|
|
210
30
|
Dependency[] expectedDependencies =
|
211
31
|
[
|
212
|
-
new("
|
213
|
-
new("Package.A", "1.0.0", DependencyType.Unknown, TargetFrameworks: ["netstandard2.0"]),
|
32
|
+
new("Package.A", "1.0.0", DependencyType.PackageReference, TargetFrameworks: ["netstandard2.0"], IsDirect: true),
|
214
33
|
new("Package.B", "2.0.0", DependencyType.Unknown, TargetFrameworks: ["netstandard2.0"], IsTransitive: true),
|
215
34
|
new("Package.C", "3.0.0", DependencyType.Unknown, TargetFrameworks: ["netstandard2.0"], IsTransitive: true),
|
216
35
|
new("Package.D", "4.0.0", DependencyType.Unknown, TargetFrameworks: ["netstandard2.0"], IsTransitive: true),
|
@@ -291,7 +110,7 @@ public class MSBuildHelperTests : TestBase
|
|
291
110
|
|
292
111
|
Dependency[] expectedDependencies =
|
293
112
|
[
|
294
|
-
new("Package.1A", "1.0.0", DependencyType.
|
113
|
+
new("Package.1A", "1.0.0", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true),
|
295
114
|
new("Package.1B", "2.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
296
115
|
new("Package.1C", "3.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
297
116
|
new("Package.1D", "4.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
@@ -308,7 +127,7 @@ public class MSBuildHelperTests : TestBase
|
|
308
127
|
new("Package.1O", "15.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
309
128
|
new("Package.1P", "16.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
310
129
|
new("Package.1Q", "17.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
311
|
-
new("Package.1R", "18.0.0", DependencyType.
|
130
|
+
new("Package.1R", "18.0.0", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true),
|
312
131
|
new("Package.1S", "19.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
313
132
|
new("Package.1T", "20.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
314
133
|
new("Package.1U", "21.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
@@ -317,7 +136,7 @@ public class MSBuildHelperTests : TestBase
|
|
317
136
|
new("Package.1X", "24.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
318
137
|
new("Package.1Y", "25.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
319
138
|
new("Package.1Z", "26.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
320
|
-
new("Package.2A", "1.0.0", DependencyType.
|
139
|
+
new("Package.2A", "1.0.0", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true),
|
321
140
|
new("Package.2B", "2.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
322
141
|
new("Package.2C", "3.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
323
142
|
new("Package.2D", "4.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
@@ -334,7 +153,7 @@ public class MSBuildHelperTests : TestBase
|
|
334
153
|
new("Package.2O", "15.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
335
154
|
new("Package.2P", "16.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
336
155
|
new("Package.2Q", "17.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
337
|
-
new("Package.2R", "18.0.0", DependencyType.
|
156
|
+
new("Package.2R", "18.0.0", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect : true),
|
338
157
|
new("Package.2S", "19.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
339
158
|
new("Package.2T", "20.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
340
159
|
new("Package.2U", "21.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
@@ -385,8 +204,8 @@ public class MSBuildHelperTests : TestBase
|
|
385
204
|
|
386
205
|
Dependency[] expectedDependencies =
|
387
206
|
[
|
388
|
-
new("Package.A", "1.0.0", DependencyType.
|
389
|
-
new("Package.B", "2.0.0", DependencyType.
|
207
|
+
new("Package.A", "1.0.0", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true),
|
208
|
+
new("Package.B", "2.0.0", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true),
|
390
209
|
];
|
391
210
|
var packages = new[]
|
392
211
|
{
|
@@ -422,7 +241,7 @@ public class MSBuildHelperTests : TestBase
|
|
422
241
|
<add key="contoso" value="https://contoso.com/v3/index.json"
|
423
242
|
</packageSources>
|
424
243
|
</configuration>
|
425
|
-
""");
|
244
|
+
""", TestContext.Current.CancellationToken);
|
426
245
|
|
427
246
|
// Asserting it didn't throw
|
428
247
|
var actualDependencies = await MSBuildHelper.GetAllPackageDependenciesAsync(
|
@@ -460,11 +279,11 @@ public class MSBuildHelperTests : TestBase
|
|
460
279
|
<add key="localSource2" value="local/source2" />
|
461
280
|
</packageSources>
|
462
281
|
</configuration>
|
463
|
-
""");
|
282
|
+
""", TestContext.Current.CancellationToken);
|
464
283
|
|
465
284
|
Dependency[] expectedDependencies =
|
466
285
|
[
|
467
|
-
new("Package.A", "1.0.0", DependencyType.
|
286
|
+
new("Package.A", "1.0.0", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect : true),
|
468
287
|
new("Package.B", "2.0.0", DependencyType.Unknown, TargetFrameworks: ["net8.0"], IsTransitive: true),
|
469
288
|
];
|
470
289
|
|
@@ -480,108 +299,6 @@ public class MSBuildHelperTests : TestBase
|
|
480
299
|
AssertEx.Equal(expectedDependencies, actualDependencies);
|
481
300
|
}
|
482
301
|
|
483
|
-
[Theory]
|
484
|
-
[InlineData(true)]
|
485
|
-
[InlineData(false)]
|
486
|
-
public async Task DependencyConflictsCanBeResolvedWithBruteForce(bool useExistingSdks)
|
487
|
-
{
|
488
|
-
var repoRoot = Directory.CreateTempSubdirectory($"test_{nameof(DependencyConflictsCanBeResolvedWithBruteForce)}_");
|
489
|
-
MockNuGetPackage[] testPackages =
|
490
|
-
[
|
491
|
-
// some base packages
|
492
|
-
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.0", "net8.0"),
|
493
|
-
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.1.0", "net8.0"),
|
494
|
-
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.2.0", "net8.0"),
|
495
|
-
// some packages that are hard-locked to specific versions of the previous package
|
496
|
-
MockNuGetPackage.CreateSimplePackage("Some.Other.Package", "1.0.0", "net8.0", [(null, [("Some.Package", "[1.0.0]")])]),
|
497
|
-
MockNuGetPackage.CreateSimplePackage("Some.Other.Package", "1.1.0", "net8.0", [(null, [("Some.Package", "[1.1.0]")])]),
|
498
|
-
MockNuGetPackage.CreateSimplePackage("Some.Other.Package", "1.2.0", "net8.0", [(null, [("Some.Package", "[1.2.0]")])]),
|
499
|
-
];
|
500
|
-
await UpdateWorkerTestBase.MockNuGetPackagesInDirectory(testPackages, repoRoot.FullName);
|
501
|
-
|
502
|
-
// the package `Some.Package` was already updated from 1.0.0 to 1.2.0, but this causes a conflict with
|
503
|
-
// `Some.Other.Package` that needs to be resolved
|
504
|
-
try
|
505
|
-
{
|
506
|
-
var projectPath = Path.Join(repoRoot.FullName, "project.csproj");
|
507
|
-
await File.WriteAllTextAsync(projectPath, """
|
508
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
509
|
-
<PropertyGroup>
|
510
|
-
<TargetFramework>net8.0</TargetFramework>
|
511
|
-
</PropertyGroup>
|
512
|
-
<ItemGroup>
|
513
|
-
<PackageReference Include="Some.Package" Version="1.2.0" />
|
514
|
-
<PackageReference Include="Some.Other.Package" Version="1.0.0" />
|
515
|
-
</ItemGroup>
|
516
|
-
</Project>
|
517
|
-
""");
|
518
|
-
var dependencies = new[]
|
519
|
-
{
|
520
|
-
new Dependency("Some.Package", "1.2.0", DependencyType.PackageReference),
|
521
|
-
new Dependency("Some.Other.Package", "1.0.0", DependencyType.PackageReference),
|
522
|
-
}.ToImmutableArray();
|
523
|
-
var update = new[]
|
524
|
-
{
|
525
|
-
new Dependency("Some.Other.Package", "1.2.0", DependencyType.PackageReference),
|
526
|
-
};
|
527
|
-
var resolvedDependencies = await MSBuildHelper.ResolveDependencyConflictsWithBruteForce(
|
528
|
-
repoRoot.FullName,
|
529
|
-
projectPath,
|
530
|
-
"net8.0",
|
531
|
-
dependencies,
|
532
|
-
new ExperimentsManager() { InstallDotnetSdks = useExistingSdks },
|
533
|
-
new TestLogger()
|
534
|
-
);
|
535
|
-
Assert.NotNull(resolvedDependencies);
|
536
|
-
Assert.Equal(2, resolvedDependencies.Value.Length);
|
537
|
-
Assert.Equal("Some.Package", resolvedDependencies.Value[0].Name);
|
538
|
-
Assert.Equal("1.2.0", resolvedDependencies.Value[0].Version);
|
539
|
-
Assert.Equal("Some.Other.Package", resolvedDependencies.Value[1].Name);
|
540
|
-
Assert.Equal("1.2.0", resolvedDependencies.Value[1].Version);
|
541
|
-
}
|
542
|
-
finally
|
543
|
-
{
|
544
|
-
repoRoot.Delete(recursive: true);
|
545
|
-
}
|
546
|
-
}
|
547
|
-
|
548
|
-
[Fact]
|
549
|
-
public void UpdateWithWorkloadsTargetFrameworks()
|
550
|
-
{
|
551
|
-
// Arrange
|
552
|
-
var projectContents = """
|
553
|
-
<Project>
|
554
|
-
<PropertyGroup>
|
555
|
-
<TargetFrameworks>net8.0-ios;net8.0-android;net8.0-macos;net8.0-maccatalyst;</TargetFrameworks>
|
556
|
-
</PropertyGroup>
|
557
|
-
<ItemGroup>
|
558
|
-
<PackageReference Include="Some.Package" Version="$(PackageVersion1)" />
|
559
|
-
</ItemGroup>
|
560
|
-
</Project>
|
561
|
-
""";
|
562
|
-
var propertyInfo = new Dictionary<string, Property>
|
563
|
-
{
|
564
|
-
{ "PackageVersion1", new("PackageVersion1", "1.1.1", "Packages.props") },
|
565
|
-
};
|
566
|
-
|
567
|
-
// Act
|
568
|
-
var (resultType, _, evaluatedValue, _, _) = MSBuildHelper.GetEvaluatedValue(projectContents, propertyInfo);
|
569
|
-
|
570
|
-
Assert.Equal(EvaluationResultType.Success, resultType);
|
571
|
-
|
572
|
-
// Assert
|
573
|
-
Assert.Equal("""
|
574
|
-
<Project>
|
575
|
-
<PropertyGroup>
|
576
|
-
<TargetFrameworks>net8.0-ios;net8.0-android;net8.0-macos;net8.0-maccatalyst;</TargetFrameworks>
|
577
|
-
</PropertyGroup>
|
578
|
-
<ItemGroup>
|
579
|
-
<PackageReference Include="Some.Package" Version="1.1.1" />
|
580
|
-
</ItemGroup>
|
581
|
-
</Project>
|
582
|
-
""", evaluatedValue);
|
583
|
-
}
|
584
|
-
|
585
302
|
[Theory]
|
586
303
|
[MemberData(nameof(GetTargetFrameworkValuesFromProjectData))]
|
587
304
|
public async Task GetTargetFrameworkValuesFromProject(string projectContents, string[] expectedTfms)
|
@@ -909,371 +626,4 @@ public class MSBuildHelperTests : TestBase
|
|
909
626
|
new DependencyFileNotParseable("/path/to/NuGet.Config", "Some error message."),
|
910
627
|
];
|
911
628
|
}
|
912
|
-
|
913
|
-
public static IEnumerable<object[]> GetTopLevelPackageDependencyInfosTestData()
|
914
|
-
{
|
915
|
-
// simple case
|
916
|
-
yield return
|
917
|
-
[
|
918
|
-
// build file contents
|
919
|
-
new[]
|
920
|
-
{
|
921
|
-
("project.csproj", """
|
922
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
923
|
-
<ItemGroup>
|
924
|
-
<PackageReference Include="Some.Package" Version="12.0.1" />
|
925
|
-
</ItemGroup>
|
926
|
-
</Project>
|
927
|
-
""")
|
928
|
-
},
|
929
|
-
// expected dependencies
|
930
|
-
new Dependency[]
|
931
|
-
{
|
932
|
-
new(
|
933
|
-
"Some.Package",
|
934
|
-
"12.0.1",
|
935
|
-
DependencyType.PackageReference,
|
936
|
-
EvaluationResult: new(EvaluationResultType.Success, "12.0.1", "12.0.1", null, null))
|
937
|
-
},
|
938
|
-
new MockNuGetPackage[]
|
939
|
-
{
|
940
|
-
MockNuGetPackage.CreateSimplePackage("Some.Package", "12.0.1", "net8.0")
|
941
|
-
}
|
942
|
-
];
|
943
|
-
|
944
|
-
// version is a child-node of the package reference
|
945
|
-
yield return
|
946
|
-
[
|
947
|
-
// build file contents
|
948
|
-
new[]
|
949
|
-
{
|
950
|
-
("project.csproj", """
|
951
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
952
|
-
<ItemGroup>
|
953
|
-
<PackageReference Include="Some.Package">
|
954
|
-
<Version>12.0.1</Version>
|
955
|
-
</PackageReference>
|
956
|
-
</ItemGroup>
|
957
|
-
</Project>
|
958
|
-
""")
|
959
|
-
},
|
960
|
-
// expected dependencies
|
961
|
-
new Dependency[]
|
962
|
-
{
|
963
|
-
new(
|
964
|
-
"Some.Package",
|
965
|
-
"12.0.1",
|
966
|
-
DependencyType.PackageReference,
|
967
|
-
EvaluationResult: new(EvaluationResultType.Success, "12.0.1", "12.0.1", null, null))
|
968
|
-
},
|
969
|
-
new MockNuGetPackage[]
|
970
|
-
{
|
971
|
-
MockNuGetPackage.CreateSimplePackage("Some.Package", "12.0.1", "net8.0")
|
972
|
-
}
|
973
|
-
];
|
974
|
-
|
975
|
-
// version is in property in same file
|
976
|
-
yield return
|
977
|
-
[
|
978
|
-
// build file contents
|
979
|
-
new[]
|
980
|
-
{
|
981
|
-
("project.csproj", """
|
982
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
983
|
-
<PropertyGroup>
|
984
|
-
<SomePackageVersion>12.0.1</SomePackageVersion>
|
985
|
-
</PropertyGroup>
|
986
|
-
<ItemGroup>
|
987
|
-
<PackageReference Include="Some.Package" Version="$(SomePackageVersion)" />
|
988
|
-
</ItemGroup>
|
989
|
-
</Project>
|
990
|
-
""")
|
991
|
-
},
|
992
|
-
// expected dependencies
|
993
|
-
new Dependency[]
|
994
|
-
{
|
995
|
-
new(
|
996
|
-
"Some.Package",
|
997
|
-
"12.0.1",
|
998
|
-
DependencyType.PackageReference,
|
999
|
-
new(EvaluationResultType.Success, "$(SomePackageVersion)", "12.0.1", "SomePackageVersion", null))
|
1000
|
-
},
|
1001
|
-
new MockNuGetPackage[]
|
1002
|
-
{
|
1003
|
-
MockNuGetPackage.CreateSimplePackage("Some.Package", "12.0.1", "net8.0")
|
1004
|
-
}
|
1005
|
-
];
|
1006
|
-
|
1007
|
-
// version is a property not triggered by a condition
|
1008
|
-
yield return
|
1009
|
-
[
|
1010
|
-
// build file contents
|
1011
|
-
new[]
|
1012
|
-
{
|
1013
|
-
("project.csproj", """
|
1014
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
1015
|
-
<PropertyGroup>
|
1016
|
-
<TargetFramework>netstandard2.0</TargetFramework>
|
1017
|
-
<SomePackageVersion>12.0.1</SomePackageVersion>
|
1018
|
-
<SomePackageVersion Condition="$(PropertyThatDoesNotExist) == 'true'">13.0.1</SomePackageVersion>
|
1019
|
-
</PropertyGroup>
|
1020
|
-
<ItemGroup>
|
1021
|
-
<PackageReference Include="Some.Package" Version="$(SomePackageVersion)" />
|
1022
|
-
</ItemGroup>
|
1023
|
-
</Project>
|
1024
|
-
""")
|
1025
|
-
},
|
1026
|
-
// expected dependencies
|
1027
|
-
new Dependency[]
|
1028
|
-
{
|
1029
|
-
new(
|
1030
|
-
"Some.Package",
|
1031
|
-
"12.0.1",
|
1032
|
-
DependencyType.PackageReference,
|
1033
|
-
new(EvaluationResultType.Success, "$(SomePackageVersion)", "12.0.1", "SomePackageVersion", null))
|
1034
|
-
},
|
1035
|
-
new MockNuGetPackage[]
|
1036
|
-
{
|
1037
|
-
MockNuGetPackage.CreateSimplePackage("Some.Package", "12.0.1", "net8.0")
|
1038
|
-
}
|
1039
|
-
];
|
1040
|
-
|
1041
|
-
// version is a property not triggered by a quoted condition
|
1042
|
-
yield return new object[]
|
1043
|
-
{
|
1044
|
-
// build file contents
|
1045
|
-
new[]
|
1046
|
-
{
|
1047
|
-
("project.csproj", """
|
1048
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
1049
|
-
<PropertyGroup>
|
1050
|
-
<TargetFramework>netstandard2.0</TargetFramework>
|
1051
|
-
<SomePackageVersion>12.0.1</SomePackageVersion>
|
1052
|
-
<SomePackageVersion Condition="'$(PropertyThatDoesNotExist)' == 'true'">13.0.1</SomePackageVersion>
|
1053
|
-
</PropertyGroup>
|
1054
|
-
<ItemGroup>
|
1055
|
-
<PackageReference Include="Some.Package" Version="$(SomePackageVersion)" />
|
1056
|
-
</ItemGroup>
|
1057
|
-
</Project>
|
1058
|
-
""")
|
1059
|
-
},
|
1060
|
-
// expected dependencies
|
1061
|
-
new Dependency[]
|
1062
|
-
{
|
1063
|
-
new(
|
1064
|
-
"Some.Package",
|
1065
|
-
"12.0.1",
|
1066
|
-
DependencyType.PackageReference,
|
1067
|
-
new(EvaluationResultType.Success, "$(SomePackageVersion)", "12.0.1", "SomePackageVersion", null))
|
1068
|
-
},
|
1069
|
-
new MockNuGetPackage[]
|
1070
|
-
{
|
1071
|
-
MockNuGetPackage.CreateSimplePackage("Some.Package", "12.0.1", "net8.0")
|
1072
|
-
}
|
1073
|
-
};
|
1074
|
-
|
1075
|
-
// version is a property with a condition checking for an empty string
|
1076
|
-
yield return
|
1077
|
-
[
|
1078
|
-
// build file contents
|
1079
|
-
new[]
|
1080
|
-
{
|
1081
|
-
("project.csproj", """
|
1082
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
1083
|
-
<PropertyGroup>
|
1084
|
-
<TargetFramework>netstandard2.0</TargetFramework>
|
1085
|
-
<SomePackageVersion Condition="$(SomePackageVersion) == ''">12.0.1</SomePackageVersion>
|
1086
|
-
<SomePackageVersion Condition="$(PropertyThatDoesNotExist) == 'true'">13.0.1</SomePackageVersion>
|
1087
|
-
</PropertyGroup>
|
1088
|
-
<ItemGroup>
|
1089
|
-
<PackageReference Include="Some.Package" Version="$(SomePackageVersion)" />
|
1090
|
-
</ItemGroup>
|
1091
|
-
</Project>
|
1092
|
-
""")
|
1093
|
-
},
|
1094
|
-
// expected dependencies
|
1095
|
-
new Dependency[]
|
1096
|
-
{
|
1097
|
-
new(
|
1098
|
-
"Some.Package",
|
1099
|
-
"12.0.1",
|
1100
|
-
DependencyType.PackageReference,
|
1101
|
-
new(EvaluationResultType.Success, "$(SomePackageVersion)", "12.0.1", "SomePackageVersion", null))
|
1102
|
-
},
|
1103
|
-
new MockNuGetPackage[]
|
1104
|
-
{
|
1105
|
-
MockNuGetPackage.CreateSimplePackage("Some.Package", "12.0.1", "net8.0")
|
1106
|
-
}
|
1107
|
-
];
|
1108
|
-
|
1109
|
-
// version is a property with a quoted condition checking for an empty string
|
1110
|
-
yield return new object[]
|
1111
|
-
{
|
1112
|
-
// build file contents
|
1113
|
-
new[]
|
1114
|
-
{
|
1115
|
-
("project.csproj", """
|
1116
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
1117
|
-
<PropertyGroup>
|
1118
|
-
<TargetFramework>netstandard2.0</TargetFramework>
|
1119
|
-
<SomePackageVersion Condition="'$(SomePackageVersion)' == ''">12.0.1</SomePackageVersion>
|
1120
|
-
<SomePackageVersion Condition="'$(PropertyThatDoesNotExist)' == 'true'">13.0.1</SomePackageVersion>
|
1121
|
-
</PropertyGroup>
|
1122
|
-
<ItemGroup>
|
1123
|
-
<PackageReference Include="Some.Package" Version="$(SomePackageVersion)" />
|
1124
|
-
</ItemGroup>
|
1125
|
-
</Project>
|
1126
|
-
""")
|
1127
|
-
},
|
1128
|
-
// expected dependencies
|
1129
|
-
new Dependency[]
|
1130
|
-
{
|
1131
|
-
new(
|
1132
|
-
"Some.Package",
|
1133
|
-
"12.0.1",
|
1134
|
-
DependencyType.PackageReference,
|
1135
|
-
new(EvaluationResultType.Success, "$(SomePackageVersion)", "12.0.1", "SomePackageVersion", null))
|
1136
|
-
},
|
1137
|
-
new MockNuGetPackage[]
|
1138
|
-
{
|
1139
|
-
MockNuGetPackage.CreateSimplePackage("Some.Package", "12.0.1", "net8.0")
|
1140
|
-
}
|
1141
|
-
};
|
1142
|
-
|
1143
|
-
// version is set in one file, used in another
|
1144
|
-
yield return
|
1145
|
-
[
|
1146
|
-
// build file contents
|
1147
|
-
new[]
|
1148
|
-
{
|
1149
|
-
("Packages.props", """
|
1150
|
-
<Project>
|
1151
|
-
<ItemGroup>
|
1152
|
-
<PackageReference Update="Package.A" Version="1.6.0" />
|
1153
|
-
<PackageReference Update="Package.B" Version="5.1.4" />
|
1154
|
-
</ItemGroup>
|
1155
|
-
</Project>
|
1156
|
-
"""),
|
1157
|
-
("project.csproj", """
|
1158
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
1159
|
-
<PropertyGroup>
|
1160
|
-
<TargetFramework>net8.0</TargetFramework>
|
1161
|
-
</PropertyGroup>
|
1162
|
-
<ItemGroup>
|
1163
|
-
<PackageReference Include="Package.A" Version="1.6.1" />
|
1164
|
-
</ItemGroup>
|
1165
|
-
</Project>
|
1166
|
-
""")
|
1167
|
-
},
|
1168
|
-
// expected dependencies
|
1169
|
-
new Dependency[]
|
1170
|
-
{
|
1171
|
-
new(
|
1172
|
-
"Package.A",
|
1173
|
-
"1.6.0",
|
1174
|
-
DependencyType.PackageReference,
|
1175
|
-
EvaluationResult: new(EvaluationResultType.Success, "1.6.0", "1.6.0", null, null)),
|
1176
|
-
new(
|
1177
|
-
"Package.B",
|
1178
|
-
"5.1.4",
|
1179
|
-
DependencyType.PackageReference,
|
1180
|
-
EvaluationResult: new(EvaluationResultType.Success, "5.1.4", "5.1.4", null, null),
|
1181
|
-
IsUpdate: true),
|
1182
|
-
},
|
1183
|
-
new MockNuGetPackage[]
|
1184
|
-
{
|
1185
|
-
MockNuGetPackage.CreateSimplePackage("Package.A", "1.6.0", "net8.0"),
|
1186
|
-
MockNuGetPackage.CreateSimplePackage("Package.A", "1.6.1", "net8.0"),
|
1187
|
-
MockNuGetPackage.CreateSimplePackage("Package.B", "5.1.4", "net8.0"),
|
1188
|
-
}
|
1189
|
-
];
|
1190
|
-
|
1191
|
-
// version is set in one file, used in another
|
1192
|
-
yield return
|
1193
|
-
[
|
1194
|
-
// build file contents
|
1195
|
-
new[]
|
1196
|
-
{
|
1197
|
-
("project.csproj", """
|
1198
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
1199
|
-
<PropertyGroup>
|
1200
|
-
<TargetFramework>net8.0</TargetFramework>
|
1201
|
-
</PropertyGroup>
|
1202
|
-
<ItemGroup>
|
1203
|
-
<PackageReference Include="Package.A" />
|
1204
|
-
</ItemGroup>
|
1205
|
-
</Project>
|
1206
|
-
"""),
|
1207
|
-
("Packages.props", """
|
1208
|
-
<Project>
|
1209
|
-
<ItemGroup>
|
1210
|
-
<PackageReference Update="Package.A" Version="1.6.0" />
|
1211
|
-
<PackageReference Update="Package.B" Version="5.1.4" />
|
1212
|
-
</ItemGroup>
|
1213
|
-
</Project>
|
1214
|
-
""")
|
1215
|
-
},
|
1216
|
-
// expected dependencies
|
1217
|
-
new Dependency[]
|
1218
|
-
{
|
1219
|
-
new(
|
1220
|
-
"Package.A",
|
1221
|
-
"1.6.0",
|
1222
|
-
DependencyType.PackageReference,
|
1223
|
-
EvaluationResult: new(EvaluationResultType.Success, "1.6.0", "1.6.0", null, null)),
|
1224
|
-
new(
|
1225
|
-
"Package.B",
|
1226
|
-
"5.1.4",
|
1227
|
-
DependencyType.PackageReference,
|
1228
|
-
EvaluationResult: new(EvaluationResultType.Success, "5.1.4", "5.1.4", null, null),
|
1229
|
-
IsUpdate: true),
|
1230
|
-
},
|
1231
|
-
new MockNuGetPackage[]
|
1232
|
-
{
|
1233
|
-
MockNuGetPackage.CreateSimplePackage("Package.A", "1.6.0", "net8.0"),
|
1234
|
-
MockNuGetPackage.CreateSimplePackage("Package.B", "5.1.4", "net8.0"),
|
1235
|
-
}
|
1236
|
-
];
|
1237
|
-
}
|
1238
|
-
|
1239
|
-
public static IEnumerable<object[]> SolutionProjectPathTestData()
|
1240
|
-
{
|
1241
|
-
yield return
|
1242
|
-
[
|
1243
|
-
"""
|
1244
|
-
Microsoft Visual Studio Solution File, Format Version 12.00
|
1245
|
-
# Visual Studio 14
|
1246
|
-
VisualStudioVersion = 14.0.22705.0
|
1247
|
-
MinimumVisualStudioVersion = 10.0.40219.1
|
1248
|
-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Some.Project", "src\Some.Project\SomeProject.csproj", "{782E0C0A-10D3-444D-9640-263D03D2B20C}"
|
1249
|
-
EndProject
|
1250
|
-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Some.Project.Test", "src\Some.Project.Test\Some.Project.Test.csproj", "{5C15FD5B-1975-4CEA-8F1B-C0C9174C60A9}"
|
1251
|
-
EndProject
|
1252
|
-
Global
|
1253
|
-
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
1254
|
-
Debug|Any CPU = Debug|Any CPU
|
1255
|
-
Release|Any CPU = Release|Any CPU
|
1256
|
-
EndGlobalSection
|
1257
|
-
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
1258
|
-
{782E0C0A-10D3-444D-9640-263D03D2B20C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
1259
|
-
{782E0C0A-10D3-444D-9640-263D03D2B20C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
1260
|
-
{782E0C0A-10D3-444D-9640-263D03D2B20C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
1261
|
-
{782E0C0A-10D3-444D-9640-263D03D2B20C}.Release|Any CPU.Build.0 = Release|Any CPU
|
1262
|
-
{5C15FD5B-1975-4CEA-8F1B-C0C9174C60A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
1263
|
-
{5C15FD5B-1975-4CEA-8F1B-C0C9174C60A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
1264
|
-
{5C15FD5B-1975-4CEA-8F1B-C0C9174C60A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
1265
|
-
{5C15FD5B-1975-4CEA-8F1B-C0C9174C60A9}.Release|Any CPU.Build.0 = Release|Any CPU
|
1266
|
-
EndGlobalSection
|
1267
|
-
GlobalSection(SolutionProperties) = preSolution
|
1268
|
-
HideSolutionNode = FALSE
|
1269
|
-
EndGlobalSection
|
1270
|
-
EndGlobal
|
1271
|
-
""",
|
1272
|
-
new[]
|
1273
|
-
{
|
1274
|
-
"src/Some.Project/SomeProject.csproj",
|
1275
|
-
"src/Some.Project.Test/Some.Project.Test.csproj",
|
1276
|
-
}
|
1277
|
-
];
|
1278
|
-
}
|
1279
629
|
}
|