dependabot-nuget 0.286.0 → 0.287.0
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.Core/Analyze/AnalyzeWorker.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/CompatabilityChecker.cs +24 -5
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/NuGetContext.cs +15 -4
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/VersionFinder.cs +9 -38
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DiscoveryWorker.cs +8 -6
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/ProjectBuildFile.cs +15 -8
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +15 -5
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +5 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/PathHelper.cs +49 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Analyze/AnalyzeWorkerTests.cs +302 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +269 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs +250 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs +40 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/PathHelperTests.cs +14 -0
- data/helpers/lib/NuGetUpdater/global.json +1 -1
- metadata +5 -5
@@ -213,6 +213,256 @@ public class RunWorkerTests
|
|
213
213
|
);
|
214
214
|
}
|
215
215
|
|
216
|
+
[Fact]
|
217
|
+
public async Task UpdateHandlesSemicolonsInPackageReference()
|
218
|
+
{
|
219
|
+
var repoMetadata = XElement.Parse("""<repository type="git" url="https://nuget.example.com/some-package" />""");
|
220
|
+
var repoMetadata2 = XElement.Parse("""<repository type="git" url="https://nuget.example.com/some-package2" />""");
|
221
|
+
await RunAsync(
|
222
|
+
packages:
|
223
|
+
[
|
224
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.0", "net8.0", additionalMetadata: [repoMetadata]),
|
225
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.1", "net8.0", additionalMetadata: [repoMetadata]),
|
226
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package2", "1.0.0", "net8.0", additionalMetadata: [repoMetadata2]),
|
227
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package2", "1.0.1", "net8.0", additionalMetadata: [repoMetadata2]),
|
228
|
+
],
|
229
|
+
job: new Job()
|
230
|
+
{
|
231
|
+
PackageManager = "nuget",
|
232
|
+
Source = new()
|
233
|
+
{
|
234
|
+
Provider = "github",
|
235
|
+
Repo = "test/repo",
|
236
|
+
Directory = "some-dir",
|
237
|
+
},
|
238
|
+
AllowedUpdates =
|
239
|
+
[
|
240
|
+
new() { UpdateType = "all" }
|
241
|
+
]
|
242
|
+
},
|
243
|
+
files:
|
244
|
+
[
|
245
|
+
("some-dir/project.csproj", """
|
246
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
247
|
+
<PropertyGroup>
|
248
|
+
<TargetFramework>net8.0</TargetFramework>
|
249
|
+
</PropertyGroup>
|
250
|
+
<ItemGroup>
|
251
|
+
<PackageReference Include="Some.Package;Some.Package2" Version="1.0.0" />
|
252
|
+
</ItemGroup>
|
253
|
+
</Project>
|
254
|
+
""")
|
255
|
+
],
|
256
|
+
discoveryWorker: new TestDiscoveryWorker(_input =>
|
257
|
+
{
|
258
|
+
return Task.FromResult(new WorkspaceDiscoveryResult()
|
259
|
+
{
|
260
|
+
Path = "some-dir",
|
261
|
+
Projects =
|
262
|
+
[
|
263
|
+
new()
|
264
|
+
{
|
265
|
+
FilePath = "project.csproj",
|
266
|
+
TargetFrameworks = ["net8.0"],
|
267
|
+
Dependencies =
|
268
|
+
[
|
269
|
+
new("Some.Package", "1.0.0", DependencyType.PackageReference, TargetFrameworks: ["net8.0"]),
|
270
|
+
new("Some.Package2", "1.0.0", DependencyType.PackageReference, TargetFrameworks: ["net8.0"]),
|
271
|
+
]
|
272
|
+
}
|
273
|
+
]
|
274
|
+
});
|
275
|
+
}),
|
276
|
+
analyzeWorker: new TestAnalyzeWorker(input =>
|
277
|
+
{
|
278
|
+
return Task.FromResult(new AnalysisResult()
|
279
|
+
{
|
280
|
+
UpdatedVersion = "1.0.1",
|
281
|
+
CanUpdate = true,
|
282
|
+
UpdatedDependencies =
|
283
|
+
[
|
284
|
+
new("Some.Package", "1.0.1", DependencyType.Unknown, TargetFrameworks: ["net8.0"], InfoUrl: "https://nuget.example.com/some-package"),
|
285
|
+
new("Some.Package2", "1.0.1", DependencyType.Unknown, TargetFrameworks: ["net8.0"], InfoUrl: "https://nuget.example.com/some-package2"),
|
286
|
+
]
|
287
|
+
});
|
288
|
+
}),
|
289
|
+
updaterWorker: new TestUpdaterWorker(async input =>
|
290
|
+
{
|
291
|
+
Assert.Contains(input.Item3, ["Some.Package", "Some.Package2"]);
|
292
|
+
Assert.Equal("1.0.0", input.Item4);
|
293
|
+
Assert.Equal("1.0.1", input.Item5);
|
294
|
+
var projectPath = input.Item1 + input.Item2;
|
295
|
+
await File.WriteAllTextAsync(projectPath, """
|
296
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
297
|
+
<PropertyGroup>
|
298
|
+
<TargetFramework>net8.0</TargetFramework>
|
299
|
+
</PropertyGroup>
|
300
|
+
<ItemGroup>
|
301
|
+
<PackageReference Include="Some.Package;Some.Package2" Version="1.0.1" />
|
302
|
+
</ItemGroup>
|
303
|
+
</Project>
|
304
|
+
""");
|
305
|
+
return new UpdateOperationResult();
|
306
|
+
}),
|
307
|
+
expectedResult: new RunResult()
|
308
|
+
{
|
309
|
+
Base64DependencyFiles =
|
310
|
+
[
|
311
|
+
new DependencyFile()
|
312
|
+
{
|
313
|
+
Directory = "/some-dir",
|
314
|
+
Name = "project.csproj",
|
315
|
+
Content = Convert.ToBase64String(Encoding.UTF8.GetBytes("""
|
316
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
317
|
+
<PropertyGroup>
|
318
|
+
<TargetFramework>net8.0</TargetFramework>
|
319
|
+
</PropertyGroup>
|
320
|
+
<ItemGroup>
|
321
|
+
<PackageReference Include="Some.Package;Some.Package2" Version="1.0.0" />
|
322
|
+
</ItemGroup>
|
323
|
+
</Project>
|
324
|
+
"""))
|
325
|
+
}
|
326
|
+
],
|
327
|
+
BaseCommitSha = "TEST-COMMIT-SHA",
|
328
|
+
},
|
329
|
+
expectedApiMessages:
|
330
|
+
[
|
331
|
+
new UpdatedDependencyList()
|
332
|
+
{
|
333
|
+
Dependencies =
|
334
|
+
[
|
335
|
+
new ReportedDependency()
|
336
|
+
{
|
337
|
+
Name = "Some.Package",
|
338
|
+
Version = "1.0.0",
|
339
|
+
Requirements =
|
340
|
+
[
|
341
|
+
new ReportedRequirement()
|
342
|
+
{
|
343
|
+
Requirement = "1.0.0",
|
344
|
+
File = "/some-dir/project.csproj",
|
345
|
+
Groups = ["dependencies"],
|
346
|
+
}
|
347
|
+
]
|
348
|
+
},
|
349
|
+
new ReportedDependency()
|
350
|
+
{
|
351
|
+
Name = "Some.Package2",
|
352
|
+
Version = "1.0.0",
|
353
|
+
Requirements =
|
354
|
+
[
|
355
|
+
new ReportedRequirement()
|
356
|
+
{
|
357
|
+
Requirement = "1.0.0",
|
358
|
+
File = "/some-dir/project.csproj",
|
359
|
+
Groups = ["dependencies"],
|
360
|
+
}
|
361
|
+
]
|
362
|
+
},
|
363
|
+
],
|
364
|
+
DependencyFiles = ["/some-dir/project.csproj"],
|
365
|
+
},
|
366
|
+
new IncrementMetric()
|
367
|
+
{
|
368
|
+
Metric = "updater.started",
|
369
|
+
Tags = new()
|
370
|
+
{
|
371
|
+
["operation"] = "group_update_all_versions"
|
372
|
+
}
|
373
|
+
},
|
374
|
+
new CreatePullRequest()
|
375
|
+
{
|
376
|
+
Dependencies =
|
377
|
+
[
|
378
|
+
new ReportedDependency()
|
379
|
+
{
|
380
|
+
Name = "Some.Package",
|
381
|
+
Version = "1.0.1",
|
382
|
+
Requirements =
|
383
|
+
[
|
384
|
+
new ReportedRequirement()
|
385
|
+
{
|
386
|
+
Requirement = "1.0.1",
|
387
|
+
File = "/some-dir/project.csproj",
|
388
|
+
Groups = ["dependencies"],
|
389
|
+
Source = new()
|
390
|
+
{
|
391
|
+
SourceUrl = "https://nuget.example.com/some-package",
|
392
|
+
Type = "nuget_repo",
|
393
|
+
}
|
394
|
+
}
|
395
|
+
],
|
396
|
+
PreviousVersion = "1.0.0",
|
397
|
+
PreviousRequirements =
|
398
|
+
[
|
399
|
+
new ReportedRequirement()
|
400
|
+
{
|
401
|
+
Requirement = "1.0.0",
|
402
|
+
File = "/some-dir/project.csproj",
|
403
|
+
Groups = ["dependencies"],
|
404
|
+
}
|
405
|
+
],
|
406
|
+
},
|
407
|
+
new ReportedDependency()
|
408
|
+
{
|
409
|
+
Name = "Some.Package2",
|
410
|
+
Version = "1.0.1",
|
411
|
+
Requirements =
|
412
|
+
[
|
413
|
+
new ReportedRequirement()
|
414
|
+
{
|
415
|
+
Requirement = "1.0.1",
|
416
|
+
File = "/some-dir/project.csproj",
|
417
|
+
Groups = ["dependencies"],
|
418
|
+
Source = new()
|
419
|
+
{
|
420
|
+
SourceUrl = "https://nuget.example.com/some-package2",
|
421
|
+
Type = "nuget_repo",
|
422
|
+
}
|
423
|
+
}
|
424
|
+
],
|
425
|
+
PreviousVersion = "1.0.0",
|
426
|
+
PreviousRequirements =
|
427
|
+
[
|
428
|
+
new ReportedRequirement()
|
429
|
+
{
|
430
|
+
Requirement = "1.0.0",
|
431
|
+
File = "/some-dir/project.csproj",
|
432
|
+
Groups = ["dependencies"],
|
433
|
+
}
|
434
|
+
],
|
435
|
+
},
|
436
|
+
],
|
437
|
+
UpdatedDependencyFiles =
|
438
|
+
[
|
439
|
+
new DependencyFile()
|
440
|
+
{
|
441
|
+
Name = "project.csproj",
|
442
|
+
Directory = "/some-dir",
|
443
|
+
Content = """
|
444
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
445
|
+
<PropertyGroup>
|
446
|
+
<TargetFramework>net8.0</TargetFramework>
|
447
|
+
</PropertyGroup>
|
448
|
+
<ItemGroup>
|
449
|
+
<PackageReference Include="Some.Package;Some.Package2" Version="1.0.1" />
|
450
|
+
</ItemGroup>
|
451
|
+
</Project>
|
452
|
+
""",
|
453
|
+
}
|
454
|
+
|
455
|
+
],
|
456
|
+
BaseCommitSha = "TEST-COMMIT-SHA",
|
457
|
+
CommitMessage = "TODO: message",
|
458
|
+
PrTitle = "TODO: title",
|
459
|
+
PrBody = "TODO: body",
|
460
|
+
},
|
461
|
+
new MarkAsProcessed("TEST-COMMIT-SHA")
|
462
|
+
]
|
463
|
+
);
|
464
|
+
}
|
465
|
+
|
216
466
|
[Fact]
|
217
467
|
public async Task PrivateSourceAuthenticationFailureIsForwaredToApiHandler()
|
218
468
|
{
|
data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs
CHANGED
@@ -311,7 +311,7 @@ public partial class UpdateWorkerTests
|
|
311
311
|
MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
|
312
312
|
MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.1", "net8.0"),
|
313
313
|
// necessary for the `net8.0-windows10.0.19041.0` TFM
|
314
|
-
new("Microsoft.Windows.SDK.NET.Ref", "10.0.19041.
|
314
|
+
new("Microsoft.Windows.SDK.NET.Ref", "10.0.19041.54", Files:
|
315
315
|
[
|
316
316
|
("data/FrameworkList.xml", Encoding.UTF8.GetBytes("""
|
317
317
|
<FileList Name="Windows SDK .NET 6.0">
|
@@ -889,6 +889,45 @@ public partial class UpdateWorkerTests
|
|
889
889
|
);
|
890
890
|
}
|
891
891
|
|
892
|
+
[Fact]
|
893
|
+
public async Task UpdateVersionAttribute_InProjectFile_ForPackageReferenceUpdateWithSemicolon()
|
894
|
+
{
|
895
|
+
// update Some.Package from 9.0.1 to 13.0.1
|
896
|
+
await TestUpdateForProject("Some.Package", "9.0.1", "13.0.1",
|
897
|
+
packages:
|
898
|
+
[
|
899
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
|
900
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package2", "9.0.1", "net8.0"),
|
901
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.1", "net8.0"),
|
902
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package2", "13.0.1", "net8.0"),
|
903
|
+
],
|
904
|
+
// initial
|
905
|
+
projectContents: """
|
906
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
907
|
+
<PropertyGroup>
|
908
|
+
<TargetFramework>net8.0</TargetFramework>
|
909
|
+
</PropertyGroup>
|
910
|
+
|
911
|
+
<ItemGroup>
|
912
|
+
<PackageReference Include="Some.Package;Some.Package2" Version="9.0.1" />
|
913
|
+
</ItemGroup>
|
914
|
+
</Project>
|
915
|
+
""",
|
916
|
+
// expected
|
917
|
+
expectedProjectContents: """
|
918
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
919
|
+
<PropertyGroup>
|
920
|
+
<TargetFramework>net8.0</TargetFramework>
|
921
|
+
</PropertyGroup>
|
922
|
+
|
923
|
+
<ItemGroup>
|
924
|
+
<PackageReference Include="Some.Package;Some.Package2" Version="13.0.1" />
|
925
|
+
</ItemGroup>
|
926
|
+
</Project>
|
927
|
+
"""
|
928
|
+
);
|
929
|
+
}
|
930
|
+
|
892
931
|
[Fact]
|
893
932
|
public async Task UpdateVersionAttribute_InDirectoryPackages_ForPackageVersion()
|
894
933
|
{
|
@@ -19,4 +19,18 @@ public class PathHelperTests
|
|
19
19
|
var actual = input.NormalizeUnixPathParts();
|
20
20
|
Assert.Equal(expected, actual);
|
21
21
|
}
|
22
|
+
|
23
|
+
[Fact]
|
24
|
+
public void VerifyResolveCaseInsensitivePath()
|
25
|
+
{
|
26
|
+
var temp = new TemporaryDirectory();
|
27
|
+
Directory.CreateDirectory(Path.Combine(temp.DirectoryPath, "src", "a"));
|
28
|
+
File.WriteAllText(Path.Combine(temp.DirectoryPath, "src", "a", "packages.config"), "");
|
29
|
+
|
30
|
+
var repoRootPath = Path.Combine(temp.DirectoryPath, "src");
|
31
|
+
|
32
|
+
var resolvedPath = PathHelper.ResolveCaseInsensitivePathInsideRepoRoot(Path.Combine(repoRootPath, "A", "PACKAGES.CONFIG"), repoRootPath);
|
33
|
+
|
34
|
+
Assert.Equal(Path.Combine(temp.DirectoryPath, "src", "a", "packages.config"), resolvedPath);
|
35
|
+
}
|
22
36
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dependabot-nuget
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.287.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dependabot
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-11-
|
11
|
+
date: 2024-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dependabot-common
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.287.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.287.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rubyzip
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -511,7 +511,7 @@ licenses:
|
|
511
511
|
- MIT
|
512
512
|
metadata:
|
513
513
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
514
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
514
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.287.0
|
515
515
|
post_install_message:
|
516
516
|
rdoc_options: []
|
517
517
|
require_paths:
|