dependabot-nuget 0.321.3 → 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/Directory.Packages.props +22 -22
- data/helpers/lib/NuGetUpdater/DotNetPackageCorrelation.Cli/Program.cs +21 -7
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/AnalyzeCommand.cs +19 -11
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/CloneCommand.cs +19 -9
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/DiscoverCommand.cs +21 -14
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/FrameworkCheckCommand.cs +8 -5
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/RunCommand.cs +29 -16
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/UpdateCommand.cs +20 -19
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Program.cs +2 -1
- 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/Files/GlobalJsonBuildFile.cs +5 -13
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/PrivateSourceTimedOutException.cs +12 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobErrorBase.cs +4 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceTimedOut.cs +10 -0
- 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 +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/GroupUpdateAllVersionsHandler.cs +4 -4
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandler.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandler.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandler.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/FileWriterWorker.cs +85 -35
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/XmlFileWriter.cs +27 -8
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +1 -856
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdateOperationBase.cs +18 -7
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +16 -200
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +21 -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.GlobalJson.cs +0 -2
- 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 -269
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/SdkProjectDiscoveryTests.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/GlobalJsonBuildFileTests.cs +0 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/EndToEndTests.cs +131 -131
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/HttpApiHandlerTests.cs +1 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/JobErrorBaseTests.cs +7 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MessageReportTests.cs +11 -0
- 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 +24 -24
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +14 -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 +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests_MiscellaneousTests.cs +45 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests.cs +111 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackageReferenceUpdaterTests.cs +1 -159
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +26 -660
- data/helpers/lib/NuGetUpdater/global.json +1 -1
- metadata +18 -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
data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs
CHANGED
@@ -7,10 +7,9 @@ public partial class DiscoveryWorkerTests
|
|
7
7
|
public class Projects : DiscoveryWorkerTestBase
|
8
8
|
{
|
9
9
|
[Fact]
|
10
|
-
public async Task
|
10
|
+
public async Task TargetFrameworksAreHonoredInConditions()
|
11
11
|
{
|
12
12
|
await TestDiscoveryAsync(
|
13
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
14
13
|
packages:
|
15
14
|
[
|
16
15
|
MockNuGetPackage.CreateSimplePackage("Package.A", "1.0.0", "net7.0"),
|
@@ -70,74 +69,9 @@ public partial class DiscoveryWorkerTests
|
|
70
69
|
}
|
71
70
|
|
72
71
|
[Fact]
|
73
|
-
public async Task
|
72
|
+
public async Task WithDirectoryBuildPropsAndTargets()
|
74
73
|
{
|
75
74
|
await TestDiscoveryAsync(
|
76
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = false },
|
77
|
-
packages:
|
78
|
-
[
|
79
|
-
MockNuGetPackage.CreateSimplePackage("Package.A", "1.0.0", "net7.0"),
|
80
|
-
MockNuGetPackage.CreateSimplePackage("Package.B", "2.0.0", "net7.0"),
|
81
|
-
],
|
82
|
-
workspacePath: "",
|
83
|
-
files: [
|
84
|
-
("myproj.csproj", """
|
85
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
86
|
-
<PropertyGroup>
|
87
|
-
<TargetFrameworks>net7.0;net8.0</TargetFrameworks>
|
88
|
-
</PropertyGroup>
|
89
|
-
<ItemGroup Condition=" '$(TargetFramework)' == 'net7.0' ">
|
90
|
-
<PackageReference Include="Package.A" />
|
91
|
-
<PackageReference Include="Package.B" />
|
92
|
-
</ItemGroup>
|
93
|
-
</Project>
|
94
|
-
"""),
|
95
|
-
("Directory.Build.props", "<Project />"),
|
96
|
-
("Directory.Packages.props", """
|
97
|
-
<Project>
|
98
|
-
<PropertyGroup>
|
99
|
-
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
100
|
-
</PropertyGroup>
|
101
|
-
<ItemGroup>
|
102
|
-
<PackageVersion Include="Package.A" Version="1.0.0" />
|
103
|
-
<PackageVersion Include="Package.B" Version="2.0.0" />
|
104
|
-
</ItemGroup>
|
105
|
-
</Project>
|
106
|
-
"""),
|
107
|
-
],
|
108
|
-
expectedResult: new()
|
109
|
-
{
|
110
|
-
Path = "",
|
111
|
-
Projects = [
|
112
|
-
new()
|
113
|
-
{
|
114
|
-
FilePath = "myproj.csproj",
|
115
|
-
Dependencies = [
|
116
|
-
new("Package.A", "1.0.0", DependencyType.PackageReference, TargetFrameworks: ["net7.0", "net8.0"], IsDirect: true),
|
117
|
-
new("Package.B", "2.0.0", DependencyType.PackageReference, TargetFrameworks: ["net7.0", "net8.0"], IsDirect: true),
|
118
|
-
],
|
119
|
-
Properties = [
|
120
|
-
new("ManagePackageVersionsCentrally", "true", "Directory.Packages.props"),
|
121
|
-
new("TargetFrameworks", "net7.0;net8.0", "myproj.csproj"),
|
122
|
-
],
|
123
|
-
TargetFrameworks = ["net7.0", "net8.0"],
|
124
|
-
ReferencedProjectPaths = [],
|
125
|
-
ImportedFiles = [
|
126
|
-
"Directory.Build.props",
|
127
|
-
"Directory.Packages.props",
|
128
|
-
],
|
129
|
-
AdditionalFiles = [],
|
130
|
-
},
|
131
|
-
],
|
132
|
-
}
|
133
|
-
);
|
134
|
-
}
|
135
|
-
|
136
|
-
[Fact]
|
137
|
-
public async Task WithDirectoryBuildPropsAndTargets_DirectDiscovery()
|
138
|
-
{
|
139
|
-
await TestDiscoveryAsync(
|
140
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
141
75
|
packages:
|
142
76
|
[
|
143
77
|
MockNuGetPackage.CreateSimplePackage("Package.A", "1.2.3", "net8.0"),
|
@@ -204,80 +138,9 @@ public partial class DiscoveryWorkerTests
|
|
204
138
|
}
|
205
139
|
|
206
140
|
[Fact]
|
207
|
-
public async Task
|
208
|
-
{
|
209
|
-
await TestDiscoveryAsync(
|
210
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = false },
|
211
|
-
packages:
|
212
|
-
[
|
213
|
-
MockNuGetPackage.CreateSimplePackage("Package.A", "1.2.3", "net8.0"),
|
214
|
-
MockNuGetPackage.CreateSimplePackage("Package.B", "4.5.6", "net8.0"),
|
215
|
-
],
|
216
|
-
workspacePath: "",
|
217
|
-
files: [
|
218
|
-
("project.csproj", """
|
219
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
220
|
-
<PropertyGroup>
|
221
|
-
<OutputType>Exe</OutputType>
|
222
|
-
<TargetFramework>net8.0</TargetFramework>
|
223
|
-
<ImplicitUsings>enable</ImplicitUsings>
|
224
|
-
<Nullable>enable</Nullable>
|
225
|
-
</PropertyGroup>
|
226
|
-
</Project>
|
227
|
-
"""),
|
228
|
-
("Directory.Build.props", """
|
229
|
-
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
230
|
-
<ItemGroup>
|
231
|
-
<PackageReference Include="Package.A" Version="1.2.3" />
|
232
|
-
</ItemGroup>
|
233
|
-
</Project>
|
234
|
-
"""),
|
235
|
-
("Directory.Build.targets", """
|
236
|
-
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
237
|
-
<ItemGroup>
|
238
|
-
<PackageReference Include="Package.B" Version="4.5.6">
|
239
|
-
<PrivateAssets>all</PrivateAssets>
|
240
|
-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
241
|
-
</PackageReference>
|
242
|
-
</ItemGroup>
|
243
|
-
</Project>
|
244
|
-
"""),
|
245
|
-
],
|
246
|
-
expectedResult: new()
|
247
|
-
{
|
248
|
-
Path = "",
|
249
|
-
Projects = [
|
250
|
-
new()
|
251
|
-
{
|
252
|
-
FilePath = "project.csproj",
|
253
|
-
Dependencies = [
|
254
|
-
new("Package.A", "1.2.3", DependencyType.PackageReference, TargetFrameworks: ["net8.0"]),
|
255
|
-
new("Package.B", "4.5.6", DependencyType.PackageReference, TargetFrameworks: ["net8.0"]),
|
256
|
-
],
|
257
|
-
Properties = [
|
258
|
-
new("ImplicitUsings", "enable", "project.csproj"),
|
259
|
-
new("Nullable", "enable", "project.csproj"),
|
260
|
-
new("OutputType", "Exe", "project.csproj"),
|
261
|
-
new("TargetFramework", "net8.0", "project.csproj"),
|
262
|
-
],
|
263
|
-
TargetFrameworks = ["net8.0"],
|
264
|
-
ReferencedProjectPaths = [],
|
265
|
-
ImportedFiles = [
|
266
|
-
"Directory.Build.props",
|
267
|
-
"Directory.Build.targets"
|
268
|
-
],
|
269
|
-
AdditionalFiles = [],
|
270
|
-
}
|
271
|
-
],
|
272
|
-
}
|
273
|
-
);
|
274
|
-
}
|
275
|
-
|
276
|
-
[Fact]
|
277
|
-
public async Task WithGlobalPackageReference_DirectDiscovery()
|
141
|
+
public async Task WithGlobalPackageReference()
|
278
142
|
{
|
279
143
|
await TestDiscoveryAsync(
|
280
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
281
144
|
packages:
|
282
145
|
[
|
283
146
|
MockNuGetPackage.CreateSimplePackage("Global.Package", "1.2.3", "net8.0"),
|
@@ -328,64 +191,9 @@ public partial class DiscoveryWorkerTests
|
|
328
191
|
}
|
329
192
|
|
330
193
|
[Fact]
|
331
|
-
public async Task
|
194
|
+
public async Task WithPackagesProps()
|
332
195
|
{
|
333
196
|
await TestDiscoveryAsync(
|
334
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = false },
|
335
|
-
packages:
|
336
|
-
[
|
337
|
-
MockNuGetPackage.CreateSimplePackage("Global.Package", "1.2.3", "net8.0"),
|
338
|
-
],
|
339
|
-
workspacePath: "",
|
340
|
-
files:
|
341
|
-
[
|
342
|
-
("project.csproj", """
|
343
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
344
|
-
<PropertyGroup>
|
345
|
-
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
346
|
-
<TargetFramework>net8.0</TargetFramework>
|
347
|
-
</PropertyGroup>
|
348
|
-
</Project>
|
349
|
-
"""),
|
350
|
-
("Directory.Packages.props", """
|
351
|
-
<Project>
|
352
|
-
<ItemGroup>
|
353
|
-
<GlobalPackageReference Include="Global.Package" Version="1.2.3" />
|
354
|
-
</ItemGroup>
|
355
|
-
</Project>
|
356
|
-
"""),
|
357
|
-
],
|
358
|
-
expectedResult: new()
|
359
|
-
{
|
360
|
-
Path = "",
|
361
|
-
Projects = [
|
362
|
-
new()
|
363
|
-
{
|
364
|
-
FilePath = "project.csproj",
|
365
|
-
Dependencies = [
|
366
|
-
new("Global.Package", "1.2.3", DependencyType.GlobalPackageReference, TargetFrameworks: ["net8.0"]),
|
367
|
-
],
|
368
|
-
Properties = [
|
369
|
-
new("ManagePackageVersionsCentrally", "true", "project.csproj"),
|
370
|
-
new("TargetFramework", "net8.0", "project.csproj"),
|
371
|
-
],
|
372
|
-
TargetFrameworks = ["net8.0"],
|
373
|
-
ReferencedProjectPaths = [],
|
374
|
-
ImportedFiles = [
|
375
|
-
"Directory.Packages.props"
|
376
|
-
],
|
377
|
-
AdditionalFiles = [],
|
378
|
-
},
|
379
|
-
],
|
380
|
-
}
|
381
|
-
);
|
382
|
-
}
|
383
|
-
|
384
|
-
[Fact]
|
385
|
-
public async Task WithPackagesProps_DirectDiscovery()
|
386
|
-
{
|
387
|
-
await TestDiscoveryAsync(
|
388
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
389
197
|
packages:
|
390
198
|
[
|
391
199
|
MockNuGetPackage.CentralPackageVersionsPackage,
|
@@ -451,80 +259,9 @@ public partial class DiscoveryWorkerTests
|
|
451
259
|
}
|
452
260
|
|
453
261
|
[Fact]
|
454
|
-
public async Task
|
455
|
-
{
|
456
|
-
await TestDiscoveryAsync(
|
457
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = false },
|
458
|
-
packages:
|
459
|
-
[
|
460
|
-
MockNuGetPackage.CentralPackageVersionsPackage,
|
461
|
-
MockNuGetPackage.CreateSimplePackage("Package.A", "1.2.3", "net7.0"),
|
462
|
-
MockNuGetPackage.CreateSimplePackage("Package.B", "4.5.6", "net7.0"),
|
463
|
-
MockNuGetPackage.CreateSimplePackage("Global.Package", "7.8.9", "net7.0"),
|
464
|
-
],
|
465
|
-
workspacePath: "",
|
466
|
-
files: [
|
467
|
-
("myproj.csproj", """
|
468
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
469
|
-
<PropertyGroup>
|
470
|
-
<TargetFramework>net7.0</TargetFramework>
|
471
|
-
</PropertyGroup>
|
472
|
-
<ItemGroup>
|
473
|
-
<PackageReference Include="Package.A" Version="1.2.3" />
|
474
|
-
<PackageReference Include="Package.B" />
|
475
|
-
</ItemGroup>
|
476
|
-
</Project>
|
477
|
-
"""),
|
478
|
-
("Packages.props", """
|
479
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
480
|
-
<ItemGroup>
|
481
|
-
<GlobalPackageReference Include="Global.Package" Version="7.8.9" />
|
482
|
-
<PackageReference Update="@(GlobalPackageReference)" PrivateAssets="Build" />
|
483
|
-
<PackageReference Update="Package.B" Version="4.5.6" />
|
484
|
-
</ItemGroup>
|
485
|
-
</Project>
|
486
|
-
"""),
|
487
|
-
("Directory.Build.targets", """
|
488
|
-
<Project>
|
489
|
-
<!-- this forces `Packages.props` to be imported -->
|
490
|
-
<Sdk Name="Microsoft.Build.CentralPackageVersions" Version="2.1.3" />
|
491
|
-
</Project>
|
492
|
-
"""),
|
493
|
-
],
|
494
|
-
expectedResult: new()
|
495
|
-
{
|
496
|
-
Path = "",
|
497
|
-
Projects = [
|
498
|
-
new()
|
499
|
-
{
|
500
|
-
FilePath = "myproj.csproj",
|
501
|
-
ExpectedDependencyCount = 4,
|
502
|
-
Dependencies = [
|
503
|
-
new("Package.A", "1.2.3", DependencyType.PackageReference, TargetFrameworks: ["net7.0"], IsDirect: true),
|
504
|
-
new("Package.B", "4.5.6", DependencyType.PackageReference, TargetFrameworks: ["net7.0"], IsDirect: true),
|
505
|
-
new("Global.Package", "7.8.9", DependencyType.GlobalPackageReference, TargetFrameworks: ["net7.0"]),
|
506
|
-
],
|
507
|
-
Properties = [
|
508
|
-
new("TargetFramework", "net7.0", "myproj.csproj"),
|
509
|
-
],
|
510
|
-
TargetFrameworks = ["net7.0"],
|
511
|
-
ReferencedProjectPaths = [],
|
512
|
-
ImportedFiles = [
|
513
|
-
"Directory.Build.targets",
|
514
|
-
"Packages.props",
|
515
|
-
],
|
516
|
-
AdditionalFiles = [],
|
517
|
-
},
|
518
|
-
],
|
519
|
-
}
|
520
|
-
);
|
521
|
-
}
|
522
|
-
|
523
|
-
[Fact]
|
524
|
-
public async Task ReturnsDependenciesThatCannotBeEvaluated_DirectDiscovery()
|
262
|
+
public async Task ReturnsDependenciesThatCannotBeEvaluated()
|
525
263
|
{
|
526
264
|
await TestDiscoveryAsync(
|
527
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
528
265
|
packages:
|
529
266
|
[
|
530
267
|
MockNuGetPackage.CreateSimplePackage("Package.A", "1.2.3", "net8.0"),
|
@@ -569,58 +306,9 @@ public partial class DiscoveryWorkerTests
|
|
569
306
|
}
|
570
307
|
|
571
308
|
[Fact]
|
572
|
-
public async Task
|
309
|
+
public async Task TargetFrameworkCanBeResolvedFromImplicitlyImportedFile()
|
573
310
|
{
|
574
311
|
await TestDiscoveryAsync(
|
575
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = false },
|
576
|
-
packages:
|
577
|
-
[
|
578
|
-
MockNuGetPackage.CreateSimplePackage("Package.A", "1.2.3", "net8.0"),
|
579
|
-
MockNuGetPackage.CreateSimplePackage("Package.B", "4.5.6", "net8.0"),
|
580
|
-
],
|
581
|
-
workspacePath: "",
|
582
|
-
files: [
|
583
|
-
("myproj.csproj", """
|
584
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
585
|
-
<PropertyGroup>
|
586
|
-
<TargetFramework>net8.0</TargetFramework>
|
587
|
-
</PropertyGroup>
|
588
|
-
<ItemGroup>
|
589
|
-
<PackageReference Include="Package.A" Version="1.2.3" />
|
590
|
-
<PackageReference Include="Package.B" Version="$(ThisPropertyCannotBeResolved)" />
|
591
|
-
</ItemGroup>
|
592
|
-
</Project>
|
593
|
-
""")
|
594
|
-
],
|
595
|
-
expectedResult: new()
|
596
|
-
{
|
597
|
-
Path = "",
|
598
|
-
Projects = [
|
599
|
-
new()
|
600
|
-
{
|
601
|
-
FilePath = "myproj.csproj",
|
602
|
-
ExpectedDependencyCount = 2,
|
603
|
-
Dependencies = [
|
604
|
-
new("Package.A", "1.2.3", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true),
|
605
|
-
],
|
606
|
-
Properties = [
|
607
|
-
new("TargetFramework", "net8.0", "myproj.csproj"),
|
608
|
-
],
|
609
|
-
TargetFrameworks = ["net8.0"],
|
610
|
-
ReferencedProjectPaths = [],
|
611
|
-
ImportedFiles = [],
|
612
|
-
AdditionalFiles = [],
|
613
|
-
}
|
614
|
-
],
|
615
|
-
}
|
616
|
-
);
|
617
|
-
}
|
618
|
-
|
619
|
-
[Fact]
|
620
|
-
public async Task TargetFrameworkCanBeResolvedFromImplicitlyImportedFile_DirectDiscovery()
|
621
|
-
{
|
622
|
-
await TestDiscoveryAsync(
|
623
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
624
312
|
packages:
|
625
313
|
[
|
626
314
|
MockNuGetPackage.CreateSimplePackage("Package.A", "1.2.3", "net8.0"),
|
@@ -671,68 +359,9 @@ public partial class DiscoveryWorkerTests
|
|
671
359
|
}
|
672
360
|
|
673
361
|
[Fact]
|
674
|
-
public async Task
|
675
|
-
{
|
676
|
-
await TestDiscoveryAsync(
|
677
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = false },
|
678
|
-
packages:
|
679
|
-
[
|
680
|
-
MockNuGetPackage.CreateSimplePackage("Package.A", "1.2.3", "net8.0"),
|
681
|
-
],
|
682
|
-
workspacePath: "",
|
683
|
-
files: [
|
684
|
-
("myproj.csproj", """
|
685
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
686
|
-
<PropertyGroup>
|
687
|
-
<TargetFramework>$(SomeTfm)</TargetFramework>
|
688
|
-
</PropertyGroup>
|
689
|
-
<ItemGroup>
|
690
|
-
<PackageReference Include="Package.A" Version="1.2.3" />
|
691
|
-
</ItemGroup>
|
692
|
-
</Project>
|
693
|
-
"""),
|
694
|
-
("Directory.Build.props", """
|
695
|
-
<Project>
|
696
|
-
<PropertyGroup>
|
697
|
-
<SomeTfm>net8.0</SomeTfm>
|
698
|
-
</PropertyGroup>
|
699
|
-
</Project>
|
700
|
-
""")
|
701
|
-
],
|
702
|
-
expectedResult: new()
|
703
|
-
{
|
704
|
-
Path = "",
|
705
|
-
Projects = [
|
706
|
-
new()
|
707
|
-
{
|
708
|
-
FilePath = "myproj.csproj",
|
709
|
-
Dependencies = [
|
710
|
-
new("Package.A", "1.2.3", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true),
|
711
|
-
],
|
712
|
-
Properties = [
|
713
|
-
new("SomeTfm", "net8.0", "Directory.Build.props"),
|
714
|
-
new("TargetFramework", "$(SomeTfm)", "myproj.csproj"),
|
715
|
-
],
|
716
|
-
TargetFrameworks = ["net8.0"],
|
717
|
-
ReferencedProjectPaths = [],
|
718
|
-
ImportedFiles = [
|
719
|
-
"Directory.Build.props"
|
720
|
-
],
|
721
|
-
AdditionalFiles = [],
|
722
|
-
}
|
723
|
-
],
|
724
|
-
}
|
725
|
-
);
|
726
|
-
}
|
727
|
-
|
728
|
-
[Theory]
|
729
|
-
[InlineData(true)]
|
730
|
-
[InlineData(false)]
|
731
|
-
|
732
|
-
public async Task NoDependenciesReturnedIfNoTargetFrameworkCanBeResolved(bool useDirectDiscovery)
|
362
|
+
public async Task NoDependenciesReturnedIfNoTargetFrameworkCanBeResolved()
|
733
363
|
{
|
734
364
|
await TestDiscoveryAsync(
|
735
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = useDirectDiscovery },
|
736
365
|
packages: [],
|
737
366
|
workspacePath: "",
|
738
367
|
files: [
|
@@ -759,7 +388,6 @@ public partial class DiscoveryWorkerTests
|
|
759
388
|
public async Task WildcardVersionNumberIsResolved()
|
760
389
|
{
|
761
390
|
await TestDiscoveryAsync(
|
762
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
763
391
|
packages:
|
764
392
|
[
|
765
393
|
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.2.3", "net8.0"),
|
@@ -801,10 +429,9 @@ public partial class DiscoveryWorkerTests
|
|
801
429
|
}
|
802
430
|
|
803
431
|
[Fact]
|
804
|
-
public async Task
|
432
|
+
public async Task DiscoverReportsTransitivePackageVersionsWithFourPartsForMultipleTargetFrameworks()
|
805
433
|
{
|
806
434
|
await TestDiscoveryAsync(
|
807
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
808
435
|
packages:
|
809
436
|
[
|
810
437
|
new("Some.Package", "1.2.3.4", Files: [("lib/net7.0/Some.Package.dll", Array.Empty<byte>()), ("lib/net8.0/Some.Package.dll", Array.Empty<byte>())], DependencyGroups: [(null, [("Transitive.Dependency", "5.6.7.8")])]),
|
@@ -849,58 +476,9 @@ public partial class DiscoveryWorkerTests
|
|
849
476
|
}
|
850
477
|
|
851
478
|
[Fact]
|
852
|
-
public async Task
|
479
|
+
public async Task DiscoverReportsPackagesThroughProjectReferenceElements()
|
853
480
|
{
|
854
481
|
await TestDiscoveryAsync(
|
855
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = false },
|
856
|
-
packages:
|
857
|
-
[
|
858
|
-
new("Some.Package", "1.2.3.4", Files: [("lib/net7.0/Some.Package.dll", Array.Empty<byte>()), ("lib/net8.0/Some.Package.dll", Array.Empty<byte>())], DependencyGroups: [(null, [("Transitive.Dependency", "5.6.7.8")])]),
|
859
|
-
new("Transitive.Dependency", "5.6.7.8", Files: [("lib/net7.0/Transitive.Dependency.dll", Array.Empty<byte>()), ("lib/net8.0/Transitive.Dependency.dll", Array.Empty<byte>())]),
|
860
|
-
],
|
861
|
-
workspacePath: "",
|
862
|
-
files:
|
863
|
-
[
|
864
|
-
("myproj.csproj", """
|
865
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
866
|
-
<PropertyGroup>
|
867
|
-
<TargetFrameworks>net7.0;net8.0</TargetFrameworks>
|
868
|
-
</PropertyGroup>
|
869
|
-
<ItemGroup>
|
870
|
-
<PackageReference Include="Some.Package" Version="1.2.3.4" />
|
871
|
-
</ItemGroup>
|
872
|
-
</Project>
|
873
|
-
""")
|
874
|
-
],
|
875
|
-
expectedResult: new()
|
876
|
-
{
|
877
|
-
Path = "",
|
878
|
-
Projects = [
|
879
|
-
new()
|
880
|
-
{
|
881
|
-
FilePath = "myproj.csproj",
|
882
|
-
Dependencies = [
|
883
|
-
new("Some.Package", "1.2.3.4", DependencyType.PackageReference, TargetFrameworks: ["net7.0", "net8.0"], IsDirect: true),
|
884
|
-
new("Transitive.Dependency", "5.6.7.8", DependencyType.Unknown, TargetFrameworks: ["net7.0", "net8.0"], IsTransitive: true),
|
885
|
-
],
|
886
|
-
Properties = [
|
887
|
-
new("TargetFrameworks", "net7.0;net8.0", "myproj.csproj"),
|
888
|
-
],
|
889
|
-
TargetFrameworks = ["net7.0", "net8.0"],
|
890
|
-
ReferencedProjectPaths = [],
|
891
|
-
ImportedFiles = [],
|
892
|
-
AdditionalFiles = [],
|
893
|
-
}
|
894
|
-
],
|
895
|
-
}
|
896
|
-
);
|
897
|
-
}
|
898
|
-
|
899
|
-
[Fact]
|
900
|
-
public async Task DiscoverReportsPackagesThroughProjectReferenceElements_DirectDiscovery()
|
901
|
-
{
|
902
|
-
await TestDiscoveryAsync(
|
903
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
904
482
|
packages:
|
905
483
|
[
|
906
484
|
MockNuGetPackage.CreateSimplePackage("Package.A", "1.2.3", "net8.0"),
|
@@ -973,82 +551,6 @@ public partial class DiscoveryWorkerTests
|
|
973
551
|
);
|
974
552
|
}
|
975
553
|
|
976
|
-
[Fact]
|
977
|
-
public async Task DiscoverReportsPackagesThroughProjectReferenceElements_TemporaryProjectDiscovery()
|
978
|
-
{
|
979
|
-
await TestDiscoveryAsync(
|
980
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = false },
|
981
|
-
packages:
|
982
|
-
[
|
983
|
-
MockNuGetPackage.CreateSimplePackage("Package.A", "1.2.3", "net8.0"),
|
984
|
-
MockNuGetPackage.CreateSimplePackage("Package.B", "4.5.6", "net8.0"),
|
985
|
-
],
|
986
|
-
workspacePath: "test",
|
987
|
-
files:
|
988
|
-
[
|
989
|
-
("test/unit-tests.csproj", """
|
990
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
991
|
-
<PropertyGroup>
|
992
|
-
<TargetFramework>net8.0</TargetFramework>
|
993
|
-
</PropertyGroup>
|
994
|
-
<ItemGroup>
|
995
|
-
<ProjectReference Include="..\src\helpers.csproj" />
|
996
|
-
</ItemGroup>
|
997
|
-
<ItemGroup>
|
998
|
-
<PackageReference Include="Package.A" Version="1.2.3" />
|
999
|
-
</ItemGroup>
|
1000
|
-
</Project>
|
1001
|
-
"""),
|
1002
|
-
("src/helpers.csproj", """
|
1003
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
1004
|
-
<PropertyGroup>
|
1005
|
-
<TargetFramework>net8.0</TargetFramework>
|
1006
|
-
</PropertyGroup>
|
1007
|
-
<ItemGroup>
|
1008
|
-
<PackageReference Include="Package.B" Version="4.5.6" />
|
1009
|
-
</ItemGroup>
|
1010
|
-
</Project>
|
1011
|
-
""")
|
1012
|
-
],
|
1013
|
-
expectedResult: new()
|
1014
|
-
{
|
1015
|
-
Path = "test",
|
1016
|
-
Projects = [
|
1017
|
-
new()
|
1018
|
-
{
|
1019
|
-
FilePath = "unit-tests.csproj",
|
1020
|
-
Dependencies = [
|
1021
|
-
new("Package.A", "1.2.3", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true)
|
1022
|
-
],
|
1023
|
-
ReferencedProjectPaths = [
|
1024
|
-
"../src/helpers.csproj",
|
1025
|
-
],
|
1026
|
-
Properties = [
|
1027
|
-
new("TargetFramework", "net8.0", @"test/unit-tests.csproj"),
|
1028
|
-
],
|
1029
|
-
TargetFrameworks = ["net8.0"],
|
1030
|
-
ImportedFiles = [],
|
1031
|
-
AdditionalFiles = [],
|
1032
|
-
},
|
1033
|
-
new()
|
1034
|
-
{
|
1035
|
-
FilePath = "../src/helpers.csproj",
|
1036
|
-
Dependencies = [
|
1037
|
-
new("Package.B", "4.5.6", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true)
|
1038
|
-
],
|
1039
|
-
Properties = [
|
1040
|
-
new("TargetFramework", "net8.0", @"src/helpers.csproj"),
|
1041
|
-
],
|
1042
|
-
TargetFrameworks = ["net8.0"],
|
1043
|
-
ReferencedProjectPaths = [],
|
1044
|
-
ImportedFiles = [],
|
1045
|
-
AdditionalFiles = [],
|
1046
|
-
}
|
1047
|
-
]
|
1048
|
-
}
|
1049
|
-
);
|
1050
|
-
}
|
1051
|
-
|
1052
554
|
[Fact]
|
1053
555
|
public async Task DiscoverReportsPackagesThroughSolutionFilesNotInTheSameDirectoryTreeAsTheProjects()
|
1054
556
|
{
|
@@ -1118,7 +620,6 @@ public partial class DiscoveryWorkerTests
|
|
1118
620
|
public async Task WindowsSpecificProjectAndWindowsSpecificDependency()
|
1119
621
|
{
|
1120
622
|
await TestDiscoveryAsync(
|
1121
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
1122
623
|
packages: [
|
1123
624
|
MockNuGetPackage.CreateSimplePackage("Some.Os.Package", "1.2.3", "net6.0-windows7.0")
|
1124
625
|
],
|
@@ -1159,10 +660,9 @@ public partial class DiscoveryWorkerTests
|
|
1159
660
|
}
|
1160
661
|
|
1161
662
|
[Fact]
|
1162
|
-
public async Task
|
663
|
+
public async Task DiscoveryWithTargetPlaformVersion()
|
1163
664
|
{
|
1164
665
|
await TestDiscoveryAsync(
|
1165
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
1166
666
|
packages:
|
1167
667
|
[
|
1168
668
|
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.2.3", "net8.0"),
|
@@ -1205,58 +705,9 @@ public partial class DiscoveryWorkerTests
|
|
1205
705
|
}
|
1206
706
|
|
1207
707
|
[Fact]
|
1208
|
-
public async Task
|
1209
|
-
{
|
1210
|
-
await TestDiscoveryAsync(
|
1211
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = false },
|
1212
|
-
packages:
|
1213
|
-
[
|
1214
|
-
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.2.3", "net8.0"),
|
1215
|
-
],
|
1216
|
-
workspacePath: "src",
|
1217
|
-
files:
|
1218
|
-
[
|
1219
|
-
("src/project.csproj", """
|
1220
|
-
<Project Sdk="Microsoft.NET.Sdk">
|
1221
|
-
<PropertyGroup>
|
1222
|
-
<TargetFrameworks>net8.0-ios;net8.0-android;net8.0-macos;net8.0-maccatalyst</TargetFrameworks>
|
1223
|
-
</PropertyGroup>
|
1224
|
-
<ItemGroup>
|
1225
|
-
<PackageReference Include="Some.Package" Version="1.2.3" />
|
1226
|
-
</ItemGroup>
|
1227
|
-
</Project>
|
1228
|
-
"""),
|
1229
|
-
],
|
1230
|
-
expectedResult: new()
|
1231
|
-
{
|
1232
|
-
Path = "src",
|
1233
|
-
Projects = [
|
1234
|
-
new()
|
1235
|
-
{
|
1236
|
-
FilePath = "project.csproj",
|
1237
|
-
Dependencies = [
|
1238
|
-
new("Some.Package", "1.2.3", DependencyType.PackageReference, TargetFrameworks: ["net8.0-android", "net8.0-ios", "net8.0-maccatalyst", "net8.0-macos"], IsDirect: true)
|
1239
|
-
],
|
1240
|
-
Properties = [
|
1241
|
-
new("TargetFrameworks", "net8.0-ios;net8.0-android;net8.0-macos;net8.0-maccatalyst", @"src/project.csproj"),
|
1242
|
-
],
|
1243
|
-
TargetFrameworks = ["net8.0-android", "net8.0-ios", "net8.0-maccatalyst", "net8.0-macos"],
|
1244
|
-
ReferencedProjectPaths = [],
|
1245
|
-
ImportedFiles = [],
|
1246
|
-
AdditionalFiles = [],
|
1247
|
-
}
|
1248
|
-
]
|
1249
|
-
}
|
1250
|
-
);
|
1251
|
-
}
|
1252
|
-
|
1253
|
-
[Theory]
|
1254
|
-
[InlineData(true)]
|
1255
|
-
[InlineData(false)]
|
1256
|
-
public async Task PackageLockJsonFileIsReported(bool useDirectDiscovery)
|
708
|
+
public async Task PackageLockJsonFileIsReported()
|
1257
709
|
{
|
1258
710
|
await TestDiscoveryAsync(
|
1259
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = useDirectDiscovery },
|
1260
711
|
packages:
|
1261
712
|
[
|
1262
713
|
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.2.3", "net8.0"),
|
@@ -1328,14 +779,14 @@ public partial class DiscoveryWorkerTests
|
|
1328
779
|
}
|
1329
780
|
}
|
1330
781
|
}
|
1331
|
-
""");
|
782
|
+
""", TestContext.Current.CancellationToken);
|
1332
783
|
using var tempEnvironment = new TemporaryEnvironment([("DOTNET_PACKAGE_CORRELATION_FILE_PATH", packageCorrelationFile)]);
|
1333
784
|
|
1334
785
|
// The SDK package handling is detected in a very specific circumstance; an assembly being removed from the
|
1335
786
|
// `@(References)` item group in the `_HandlePackageFileConflicts` target. Since we don't want to involve
|
1336
787
|
// the real SDK, we fake some required targets.
|
1337
788
|
await TestDiscoveryAsync(
|
1338
|
-
experimentsManager: new ExperimentsManager() { InstallDotnetSdks = true
|
789
|
+
experimentsManager: new ExperimentsManager() { InstallDotnetSdks = true },
|
1339
790
|
packages: [],
|
1340
791
|
workspacePath: "",
|
1341
792
|
files:
|
@@ -1421,7 +872,6 @@ public partial class DiscoveryWorkerTests
|
|
1421
872
|
// can't resolve the transitive dependencies; only the VS project system can, so there are some manual steps to allow
|
1422
873
|
// dependency discovery.
|
1423
874
|
await TestDiscoveryAsync(
|
1424
|
-
experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
|
1425
875
|
packages: [
|
1426
876
|
MockNuGetPackage.CreateSimplePackage("Some.Dependency", "1.0.0", "net48", [(null, [("Some.Transitive.Dependency", "2.0.0")])]),
|
1427
877
|
MockNuGetPackage.CreateSimplePackage("Some.Transitive.Dependency", "2.0.0", "net48"),
|