dependabot-nuget 0.288.0 → 0.290.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.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/lib/NuGetUpdater/Directory.Packages.props +19 -17
  3. data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Packaging/NuGet.Packaging.csproj +0 -1
  4. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/AnalyzeCommand.cs +7 -3
  5. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/RunCommand.cs +1 -1
  6. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Analyze.cs +29 -2
  7. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Discover.cs +25 -4
  8. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Run.cs +0 -6
  9. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/AnalyzeWorker.cs +33 -16
  10. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/CompatabilityChecker.cs +25 -10
  11. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/NuGetContext.cs +0 -13
  12. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/RequirementArrayConverter.cs +39 -0
  13. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/VersionFinder.cs +1 -1
  14. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Clone/ShellGitCommandHandler.cs +1 -1
  15. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DiscoveryWorker.cs +60 -66
  16. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DotNetToolsJsonDiscovery.cs +2 -2
  17. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/GlobalJsonDiscovery.cs +2 -2
  18. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/PackagesConfigDiscovery.cs +11 -3
  19. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/PackagesConfigDiscoveryResult.cs +1 -0
  20. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/ProjectDiscoveryResult.cs +2 -4
  21. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs +54 -11
  22. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/WorkspaceDiscoveryResult.cs +0 -1
  23. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/ExperimentsManager.cs +1 -2
  24. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/JsonBuildFile.cs +1 -1
  25. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/FrameworkChecker/CompatabilityChecker.cs +2 -2
  26. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Advisory.cs +13 -0
  27. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/AllowedUpdate.cs +18 -1
  28. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/CommitOptions.cs +8 -0
  29. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Condition.cs +19 -0
  30. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/DependencyGroup.cs +8 -0
  31. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/GroupPullRequest.cs +9 -0
  32. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Job.cs +13 -10
  33. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PullRequest.cs +11 -0
  34. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/RequirementsUpdateStrategy.cs +15 -0
  35. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs +67 -58
  36. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/VersionConverter.cs +19 -0
  37. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectManager.cs +15 -44
  38. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/DotNetToolsJsonUpdater.cs +4 -4
  39. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/GlobalJsonUpdater.cs +5 -5
  40. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/LockFileUpdater.cs +2 -10
  41. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +38 -33
  42. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackagesConfigUpdater.cs +25 -23
  43. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +16 -12
  44. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ConsoleLogger.cs +1 -1
  45. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/DependencyConflictResolver.cs +19 -19
  46. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ILogger.cs +11 -1
  47. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/JsonHelper.cs +2 -0
  48. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +18 -17
  49. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/NuGetHelper.cs +1 -17
  50. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/PathHelper.cs +17 -9
  51. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ProjectHelper.cs +96 -0
  52. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Analyze/AnalyzeWorkerTestBase.cs +5 -2
  53. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Analyze/AnalyzeWorkerTests.cs +87 -5
  54. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +2 -5
  55. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.DotNetToolsJson.cs +45 -1
  56. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.GlobalJson.cs +35 -1
  57. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs +16 -0
  58. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Proj.cs +6 -0
  59. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs +143 -36
  60. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +184 -48
  61. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/ExpectedDiscoveryResults.cs +5 -5
  62. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/SdkProjectDiscoveryTests.cs +32 -10
  63. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MiscellaneousTests.cs +85 -0
  64. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs +402 -102
  65. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +342 -2
  66. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdatedDependencyListTests.cs +60 -2
  67. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TemporaryDirectory.cs +18 -7
  68. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TestLogger.cs +1 -1
  69. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/BindingRedirectsTests.cs +1 -1
  70. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackagesConfigUpdaterTests.cs +24 -0
  71. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs +4 -14
  72. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DotNetTools.cs +84 -0
  73. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.GlobalJson.cs +66 -0
  74. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs +95 -0
  75. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs +1 -7
  76. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/AssertEx.cs +1 -1
  77. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/LinuxOnlyAttribute.cs +12 -0
  78. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +558 -711
  79. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/PathHelperTests.cs +47 -2
  80. data/lib/dependabot/nuget/analysis/analysis_json_reader.rb +4 -2
  81. data/lib/dependabot/nuget/analysis/dependency_analysis.rb +3 -3
  82. data/lib/dependabot/nuget/discovery/dependency_details.rb +10 -3
  83. data/lib/dependabot/nuget/discovery/dependency_file_discovery.rb +8 -12
  84. data/lib/dependabot/nuget/discovery/discovery_json_reader.rb +214 -29
  85. data/lib/dependabot/nuget/discovery/project_discovery.rb +41 -8
  86. data/lib/dependabot/nuget/discovery/workspace_discovery.rb +14 -19
  87. data/lib/dependabot/nuget/file_fetcher.rb +11 -393
  88. data/lib/dependabot/nuget/file_parser.rb +23 -61
  89. data/lib/dependabot/nuget/file_updater.rb +28 -23
  90. data/lib/dependabot/nuget/native_helpers.rb +14 -5
  91. data/lib/dependabot/nuget/update_checker/requirements_updater.rb +23 -27
  92. data/lib/dependabot/nuget/update_checker.rb +116 -190
  93. metadata +20 -32
  94. data/helpers/lib/NuGetUpdater/NuGetProjects/Directory.Packages.props +0 -29
  95. data/lib/dependabot/nuget/discovery/directory_packages_props_discovery.rb +0 -43
  96. data/lib/dependabot/nuget/file_fetcher/import_paths_finder.rb +0 -73
  97. data/lib/dependabot/nuget/file_fetcher/sln_project_paths_finder.rb +0 -60
  98. data/lib/dependabot/nuget/http_response_helpers.rb +0 -19
  99. data/lib/dependabot/nuget/native_discovery/native_dependency_details.rb +0 -102
  100. data/lib/dependabot/nuget/native_discovery/native_dependency_file_discovery.rb +0 -129
  101. data/lib/dependabot/nuget/native_discovery/native_discovery_json_reader.rb +0 -171
  102. data/lib/dependabot/nuget/native_discovery/native_evaluation_details.rb +0 -63
  103. data/lib/dependabot/nuget/native_discovery/native_project_discovery.rb +0 -82
  104. data/lib/dependabot/nuget/native_discovery/native_property_details.rb +0 -43
  105. data/lib/dependabot/nuget/native_discovery/native_workspace_discovery.rb +0 -68
  106. data/lib/dependabot/nuget/native_update_checker/native_requirements_updater.rb +0 -105
  107. data/lib/dependabot/nuget/native_update_checker/native_update_checker.rb +0 -201
  108. data/lib/dependabot/nuget/nuget_client.rb +0 -223
  109. data/lib/dependabot/nuget/update_checker/compatibility_checker.rb +0 -116
  110. data/lib/dependabot/nuget/update_checker/dependency_finder.rb +0 -297
  111. data/lib/dependabot/nuget/update_checker/nupkg_fetcher.rb +0 -221
  112. data/lib/dependabot/nuget/update_checker/nuspec_fetcher.rb +0 -110
  113. data/lib/dependabot/nuget/update_checker/property_updater.rb +0 -196
  114. data/lib/dependabot/nuget/update_checker/repository_finder.rb +0 -466
  115. data/lib/dependabot/nuget/update_checker/tfm_comparer.rb +0 -34
  116. data/lib/dependabot/nuget/update_checker/tfm_finder.rb +0 -30
  117. data/lib/dependabot/nuget/update_checker/version_finder.rb +0 -449
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.288.0
4
+ version: 0.290.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-21 00:00:00.000000000 Z
11
+ date: 2024-12-12 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.288.0
19
+ version: 0.290.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.288.0
26
+ version: 0.290.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubyzip
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -271,7 +271,6 @@ files:
271
271
  - helpers/lib/NuGetUpdater/Directory.Packages.props
272
272
  - helpers/lib/NuGetUpdater/NuGetProjects/Directory.Build.props
273
273
  - helpers/lib/NuGetUpdater/NuGetProjects/Directory.Build.targets
274
- - helpers/lib/NuGetUpdater/NuGetProjects/Directory.Packages.props
275
274
  - helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Build.Tasks/NuGet.Build.Tasks.csproj
276
275
  - helpers/lib/NuGetUpdater/NuGetProjects/NuGet.CommandLine/AssemblyMetadataExtractor.cs
277
276
  - helpers/lib/NuGetUpdater/NuGetProjects/NuGet.CommandLine/NuGet.CommandLine.csproj
@@ -332,6 +331,7 @@ files:
332
331
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/FrameworkChecker/SupportedFrameworkFacts.cs
333
332
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/MockNuGetPackage.cs
334
333
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/NuGetUpdater.Core.Test.csproj
334
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MiscellaneousTests.cs
335
335
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs
336
336
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs
337
337
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/TestApiHandler.cs
@@ -358,6 +358,7 @@ files:
358
358
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/AssertEx.cs
359
359
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/DiffUtil.cs
360
360
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/JsonHelperTests.cs
361
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/LinuxOnlyAttribute.cs
361
362
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs
362
363
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/PathHelperTests.cs
363
364
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterHelperTests.cs
@@ -369,6 +370,7 @@ files:
369
370
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/Extensions.cs
370
371
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/NuGetContext.cs
371
372
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/Requirement.cs
373
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/RequirementArrayConverter.cs
372
374
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/RequirementConverter.cs
373
375
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/SecurityVulnerability.cs
374
376
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/SecurityVulnerabilityExtensions.cs
@@ -413,10 +415,15 @@ files:
413
415
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/NativeResult.cs
414
416
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/NuGetUpdater.Core.csproj
415
417
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Property.cs
418
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Advisory.cs
416
419
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/AllowedUpdate.cs
420
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/CommitOptions.cs
421
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Condition.cs
417
422
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/CreatePullRequest.cs
418
423
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/DependencyFile.cs
419
424
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/DependencyFileNotFound.cs
425
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/DependencyGroup.cs
426
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/GroupPullRequest.cs
420
427
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/IncrementMetric.cs
421
428
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Job.cs
422
429
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobErrorBase.cs
@@ -425,9 +432,11 @@ files:
425
432
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobSource.cs
426
433
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/MarkAsProcessed.cs
427
434
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceAuthenticationFailure.cs
435
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PullRequest.cs
428
436
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/ReportedDependency.cs
429
437
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/ReportedRequirement.cs
430
438
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/RequirementSource.cs
439
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/RequirementsUpdateStrategy.cs
431
440
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/UnknownError.cs
432
441
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/UpdateNotPossible.cs
433
442
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/UpdatedDependencyList.cs
@@ -435,6 +444,7 @@ files:
435
444
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/IApiHandler.cs
436
445
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunResult.cs
437
446
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs
447
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/VersionConverter.cs
438
448
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/TargetFrameworkReporter.targets
439
449
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/UpdateNotPossibleException.cs
440
450
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectManager.cs
@@ -462,6 +472,7 @@ files:
462
472
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/PathComparer.cs
463
473
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/PathHelper.cs
464
474
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ProcessExtensions.cs
475
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ProjectHelper.cs
465
476
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/XmlExtensions.cs
466
477
  - helpers/lib/NuGetUpdater/NuGetUpdater.sln
467
478
  - helpers/lib/NuGetUpdater/global.json
@@ -472,51 +483,28 @@ files:
472
483
  - lib/dependabot/nuget/cache_manager.rb
473
484
  - lib/dependabot/nuget/discovery/dependency_details.rb
474
485
  - lib/dependabot/nuget/discovery/dependency_file_discovery.rb
475
- - lib/dependabot/nuget/discovery/directory_packages_props_discovery.rb
476
486
  - lib/dependabot/nuget/discovery/discovery_json_reader.rb
477
487
  - lib/dependabot/nuget/discovery/evaluation_details.rb
478
488
  - lib/dependabot/nuget/discovery/project_discovery.rb
479
489
  - lib/dependabot/nuget/discovery/property_details.rb
480
490
  - lib/dependabot/nuget/discovery/workspace_discovery.rb
481
491
  - lib/dependabot/nuget/file_fetcher.rb
482
- - lib/dependabot/nuget/file_fetcher/import_paths_finder.rb
483
- - lib/dependabot/nuget/file_fetcher/sln_project_paths_finder.rb
484
492
  - lib/dependabot/nuget/file_parser.rb
485
493
  - lib/dependabot/nuget/file_updater.rb
486
- - lib/dependabot/nuget/http_response_helpers.rb
487
494
  - lib/dependabot/nuget/metadata_finder.rb
488
- - lib/dependabot/nuget/native_discovery/native_dependency_details.rb
489
- - lib/dependabot/nuget/native_discovery/native_dependency_file_discovery.rb
490
- - lib/dependabot/nuget/native_discovery/native_discovery_json_reader.rb
491
- - lib/dependabot/nuget/native_discovery/native_evaluation_details.rb
492
- - lib/dependabot/nuget/native_discovery/native_project_discovery.rb
493
- - lib/dependabot/nuget/native_discovery/native_property_details.rb
494
- - lib/dependabot/nuget/native_discovery/native_workspace_discovery.rb
495
495
  - lib/dependabot/nuget/native_helpers.rb
496
- - lib/dependabot/nuget/native_update_checker/native_requirements_updater.rb
497
- - lib/dependabot/nuget/native_update_checker/native_update_checker.rb
498
- - lib/dependabot/nuget/nuget_client.rb
499
496
  - lib/dependabot/nuget/nuget_config_credential_helpers.rb
500
497
  - lib/dependabot/nuget/requirement.rb
501
498
  - lib/dependabot/nuget/update_checker.rb
502
- - lib/dependabot/nuget/update_checker/compatibility_checker.rb
503
- - lib/dependabot/nuget/update_checker/dependency_finder.rb
504
- - lib/dependabot/nuget/update_checker/nupkg_fetcher.rb
505
- - lib/dependabot/nuget/update_checker/nuspec_fetcher.rb
506
- - lib/dependabot/nuget/update_checker/property_updater.rb
507
- - lib/dependabot/nuget/update_checker/repository_finder.rb
508
499
  - lib/dependabot/nuget/update_checker/requirements_updater.rb
509
- - lib/dependabot/nuget/update_checker/tfm_comparer.rb
510
- - lib/dependabot/nuget/update_checker/tfm_finder.rb
511
- - lib/dependabot/nuget/update_checker/version_finder.rb
512
500
  - lib/dependabot/nuget/version.rb
513
501
  homepage: https://github.com/dependabot/dependabot-core
514
502
  licenses:
515
503
  - MIT
516
504
  metadata:
517
505
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
518
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.288.0
519
- post_install_message:
506
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.290.0
507
+ post_install_message:
520
508
  rdoc_options: []
521
509
  require_paths:
522
510
  - lib
@@ -532,7 +520,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
532
520
  version: 3.1.0
533
521
  requirements: []
534
522
  rubygems_version: 3.5.9
535
- signing_key:
523
+ signing_key:
536
524
  specification_version: 4
537
525
  summary: Provides Dependabot support for .NET (NuGet)
538
526
  test_files: []
@@ -1,29 +0,0 @@
1
- <Project>
2
-
3
- <PropertyGroup>
4
- <MicrosoftBuildVersion>17.5.0</MicrosoftBuildVersion>
5
- <MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>6.0.0</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
6
- <MicrosoftExtensionsFileSystemGlobbingPackageVersion>6.0.0</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
7
- <MicrosoftWebXdtPackageVersion>3.0.0</MicrosoftWebXdtPackageVersion>
8
- <SystemPackagesVersion>4.3.0</SystemPackagesVersion>
9
- <CryptographyPackagesVersion>5.0.0</CryptographyPackagesVersion>
10
- </PropertyGroup>
11
-
12
- <ItemGroup>
13
- <PackageVersion Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildVersion)" />
14
- <PackageVersion Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildVersion)" />
15
- <PackageVersion Include="Microsoft.CSharp" Version="$(SystemPackagesVersion)" />
16
- <PackageVersion Include="Microsoft.Extensions.FileProviders.Abstractions" Version="$(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion)" />
17
- <PackageVersion Include="Microsoft.Extensions.FileSystemGlobbing" Version="$(MicrosoftExtensionsFileSystemGlobbingPackageVersion)" />
18
- <PackageVersion Include="Microsoft.VisualStudio.Setup.Configuration.Interop" Version="3.4.2244" />
19
- <PackageVersion Include="Microsoft.Web.Xdt" Version="$(MicrosoftWebXdtPackageVersion)" />
20
- <PackageVersion Include="Newtonsoft.Json" Version="13.0.1" />
21
- <PackageVersion Include="NuGet.Core" Version="2.14.0-rtm-832" />
22
- <PackageVersion Include="System.ComponentModel.Composition" Version="7.0.0" />
23
- <PackageVersion Include="System.Security.Cryptography.Cng" Version="$(CryptographyPackagesVersion)" />
24
- <PackageVersion Include="System.Security.Cryptography.Pkcs" Version="$(CryptographyPackagesVersion)" />
25
- <PackageVersion Include="System.Security.Cryptography.ProtectedData" Version="4.4.0" />
26
- <PackageVersion Include="System.Threading.Tasks.Dataflow" Version="6.0.0" />
27
- </ItemGroup>
28
-
29
- </Project>
@@ -1,43 +0,0 @@
1
- # typed: strong
2
- # frozen_string_literal: true
3
-
4
- require "dependabot/nuget/discovery/dependency_details"
5
- require "sorbet-runtime"
6
-
7
- module Dependabot
8
- module Nuget
9
- class DirectoryPackagesPropsDiscovery < DependencyFileDiscovery
10
- extend T::Sig
11
-
12
- sig do
13
- params(json: T.nilable(T::Hash[String, T.untyped])).returns(T.nilable(DirectoryPackagesPropsDiscovery))
14
- end
15
- def self.from_json(json)
16
- return nil if json.nil?
17
-
18
- file_path = T.let(json.fetch("FilePath"), String)
19
- is_transitive_pinning_enabled = T.let(json.fetch("IsTransitivePinningEnabled"), T::Boolean)
20
- dependencies = T.let(json.fetch("Dependencies"), T::Array[T::Hash[String, T.untyped]]).map do |dep|
21
- DependencyDetails.from_json(dep)
22
- end
23
-
24
- DirectoryPackagesPropsDiscovery.new(file_path: file_path,
25
- is_transitive_pinning_enabled: is_transitive_pinning_enabled,
26
- dependencies: dependencies)
27
- end
28
-
29
- sig do
30
- params(file_path: String,
31
- is_transitive_pinning_enabled: T::Boolean,
32
- dependencies: T::Array[DependencyDetails]).void
33
- end
34
- def initialize(file_path:, is_transitive_pinning_enabled:, dependencies:)
35
- super(file_path: file_path, dependencies: dependencies)
36
- @is_transitive_pinning_enabled = is_transitive_pinning_enabled
37
- end
38
-
39
- sig { returns(T::Boolean) }
40
- attr_reader :is_transitive_pinning_enabled
41
- end
42
- end
43
- end
@@ -1,73 +0,0 @@
1
- # typed: strict
2
- # frozen_string_literal: true
3
-
4
- require "nokogiri"
5
- require "pathname"
6
- require "sorbet-runtime"
7
-
8
- require "dependabot/nuget/file_fetcher"
9
-
10
- module Dependabot
11
- module Nuget
12
- class FileFetcher
13
- class ImportPathsFinder
14
- extend T::Sig
15
- sig { params(project_file: T.untyped).void }
16
- def initialize(project_file:)
17
- @project_file = T.let(project_file, Dependabot::DependencyFile)
18
- end
19
-
20
- sig { returns(T::Array[String]) }
21
- def import_paths
22
- doc = T.let(Nokogiri::XML(project_file.content), Nokogiri::XML::Document)
23
- doc.remove_namespaces!
24
- doc.xpath("/Project/Import").filter_map do |import_node|
25
- path = import_node.attribute("Project").value.strip.tr("\\", "/")
26
- path = File.join(current_dir, path) unless current_dir.nil?
27
- Pathname.new(path).cleanpath.to_path
28
- end
29
- end
30
-
31
- sig { returns(T::Array[String]) }
32
- def project_reference_paths
33
- doc = T.let(Nokogiri::XML(project_file.content), Nokogiri::XML::Document)
34
- doc.remove_namespaces!
35
- doc.xpath("/Project/ItemGroup/ProjectReference").filter_map do |node|
36
- attribute = node.attribute("Include")
37
- next unless attribute
38
-
39
- path = attribute.value.strip.tr("\\", "/")
40
- path = File.join(current_dir, path) unless current_dir.nil?
41
- Pathname.new(path).cleanpath.to_path
42
- end
43
- end
44
-
45
- sig { returns(T::Array[String]) }
46
- def project_file_paths
47
- doc = T.let(Nokogiri::XML(project_file.content), Nokogiri::XML::Document)
48
- doc.remove_namespaces!
49
- doc.xpath("/Project/ItemGroup/ProjectFile").filter_map do |node|
50
- attribute = node.attribute("Include")
51
- next unless attribute
52
-
53
- path = attribute.value.strip.tr("\\", "/")
54
- path = File.join(current_dir, path) unless current_dir.nil?
55
- Pathname.new(path).cleanpath.to_path
56
- end
57
- end
58
-
59
- private
60
-
61
- sig { returns(Dependabot::DependencyFile) }
62
- attr_reader :project_file
63
-
64
- sig { returns(T.nilable(String)) }
65
- def current_dir
66
- current_dir = project_file.name.rpartition("/").first
67
- current_dir = nil if current_dir == ""
68
- current_dir
69
- end
70
- end
71
- end
72
- end
73
- end
@@ -1,60 +0,0 @@
1
- # typed: strong
2
- # frozen_string_literal: true
3
-
4
- require "pathname"
5
- require "sorbet-runtime"
6
-
7
- require "dependabot/nuget/file_fetcher"
8
-
9
- module Dependabot
10
- module Nuget
11
- class FileFetcher
12
- class SlnProjectPathsFinder
13
- extend T::Sig
14
-
15
- sig { params(sln_file: Dependabot::DependencyFile).void }
16
- def initialize(sln_file:)
17
- @sln_file = sln_file
18
- end
19
-
20
- sig { returns(T::Array[String]) }
21
- def project_paths
22
- paths = T.let([], T::Array[String])
23
- return paths unless sln_file.content
24
-
25
- sln_file_lines = T.must(sln_file.content).lines
26
-
27
- sln_file_lines.each do |line|
28
- next unless line.match?(/^\s*Project\(/)
29
- next unless line.split('"')[5]
30
-
31
- path = line.split('"')[5]
32
- next unless path
33
-
34
- path = path.tr("\\", "/")
35
-
36
- # If the path doesn't have an extension it's probably a directory
37
- next unless path.match?(/\.[a-z]{2}proj$/)
38
-
39
- path = File.join(current_dir, path) unless current_dir.nil?
40
- paths << Pathname.new(path).cleanpath.to_path
41
- end
42
-
43
- paths
44
- end
45
-
46
- private
47
-
48
- sig { returns(Dependabot::DependencyFile) }
49
- attr_reader :sln_file
50
-
51
- sig { returns(T.nilable(String)) }
52
- def current_dir
53
- current_dir = sln_file.name.rpartition("/").first
54
- current_dir = nil if current_dir == ""
55
- current_dir
56
- end
57
- end
58
- end
59
- end
60
- end
@@ -1,19 +0,0 @@
1
- # typed: strict
2
- # frozen_string_literal: true
3
-
4
- require "sorbet-runtime"
5
-
6
- module Dependabot
7
- module Nuget
8
- module HttpResponseHelpers
9
- extend T::Sig
10
-
11
- sig { params(string: String).returns(String) }
12
- def self.remove_wrapping_zero_width_chars(string)
13
- string.force_encoding("UTF-8").encode
14
- .gsub(/\A[\u200B-\u200D\uFEFF]/, "")
15
- .gsub(/[\u200B-\u200D\uFEFF]\Z/, "")
16
- end
17
- end
18
- end
19
- end
@@ -1,102 +0,0 @@
1
- # typed: strong
2
- # frozen_string_literal: true
3
-
4
- require "dependabot/nuget/native_discovery/native_evaluation_details"
5
- require "sorbet-runtime"
6
-
7
- module Dependabot
8
- module Nuget
9
- class NativeDependencyDetails
10
- extend T::Sig
11
-
12
- sig { params(json: T::Hash[String, T.untyped]).returns(NativeDependencyDetails) }
13
- def self.from_json(json)
14
- name = T.let(json.fetch("Name"), String)
15
- version = T.let(json.fetch("Version"), T.nilable(String))
16
- type = T.let(json.fetch("Type"), String)
17
- evaluation = NativeEvaluationDetails
18
- .from_json(T.let(json.fetch("EvaluationResult"), T.nilable(T::Hash[String, T.untyped])))
19
- target_frameworks = T.let(json.fetch("TargetFrameworks"), T.nilable(T::Array[String]))
20
- is_dev_dependency = T.let(json.fetch("IsDevDependency"), T::Boolean)
21
- is_direct = T.let(json.fetch("IsDirect"), T::Boolean)
22
- is_transitive = T.let(json.fetch("IsTransitive"), T::Boolean)
23
- is_override = T.let(json.fetch("IsOverride"), T::Boolean)
24
- is_update = T.let(json.fetch("IsUpdate"), T::Boolean)
25
- info_url = T.let(json.fetch("InfoUrl"), T.nilable(String))
26
-
27
- NativeDependencyDetails.new(name: name,
28
- version: version,
29
- type: type,
30
- evaluation: evaluation,
31
- target_frameworks: target_frameworks,
32
- is_dev_dependency: is_dev_dependency,
33
- is_direct: is_direct,
34
- is_transitive: is_transitive,
35
- is_override: is_override,
36
- is_update: is_update,
37
- info_url: info_url)
38
- end
39
-
40
- sig do
41
- params(name: String,
42
- version: T.nilable(String),
43
- type: String,
44
- evaluation: T.nilable(NativeEvaluationDetails),
45
- target_frameworks: T.nilable(T::Array[String]),
46
- is_dev_dependency: T::Boolean,
47
- is_direct: T::Boolean,
48
- is_transitive: T::Boolean,
49
- is_override: T::Boolean,
50
- is_update: T::Boolean,
51
- info_url: T.nilable(String)).void
52
- end
53
- def initialize(name:, version:, type:, evaluation:, target_frameworks:, is_dev_dependency:, is_direct:,
54
- is_transitive:, is_override:, is_update:, info_url:)
55
- @name = name
56
- @version = version
57
- @type = type
58
- @evaluation = evaluation
59
- @target_frameworks = target_frameworks
60
- @is_dev_dependency = is_dev_dependency
61
- @is_direct = is_direct
62
- @is_transitive = is_transitive
63
- @is_override = is_override
64
- @is_update = is_update
65
- @info_url = info_url
66
- end
67
-
68
- sig { returns(String) }
69
- attr_reader :name
70
-
71
- sig { returns(T.nilable(String)) }
72
- attr_reader :version
73
-
74
- sig { returns(String) }
75
- attr_reader :type
76
-
77
- sig { returns(T.nilable(NativeEvaluationDetails)) }
78
- attr_reader :evaluation
79
-
80
- sig { returns(T.nilable(T::Array[String])) }
81
- attr_reader :target_frameworks
82
-
83
- sig { returns(T::Boolean) }
84
- attr_reader :is_dev_dependency
85
-
86
- sig { returns(T::Boolean) }
87
- attr_reader :is_direct
88
-
89
- sig { returns(T::Boolean) }
90
- attr_reader :is_transitive
91
-
92
- sig { returns(T::Boolean) }
93
- attr_reader :is_override
94
-
95
- sig { returns(T::Boolean) }
96
- attr_reader :is_update
97
-
98
- sig { returns(T.nilable(String)) }
99
- attr_reader :info_url
100
- end
101
- end
102
- end
@@ -1,129 +0,0 @@
1
- # typed: strong
2
- # frozen_string_literal: true
3
-
4
- require "dependabot/nuget/native_discovery/native_dependency_details"
5
- require "sorbet-runtime"
6
-
7
- module Dependabot
8
- module Nuget
9
- class NativeDependencyFileDiscovery
10
- extend T::Sig
11
-
12
- sig do
13
- params(json: T.nilable(T::Hash[String, T.untyped]),
14
- directory: String).returns(T.nilable(NativeDependencyFileDiscovery))
15
- end
16
- def self.from_json(json, directory)
17
- return nil if json.nil?
18
-
19
- file_path = File.join(directory, T.let(json.fetch("FilePath"), String))
20
- dependencies = T.let(json.fetch("Dependencies"), T::Array[T::Hash[String, T.untyped]]).map do |dep|
21
- NativeDependencyDetails.from_json(dep)
22
- end
23
-
24
- NativeDependencyFileDiscovery.new(file_path: file_path,
25
- dependencies: dependencies)
26
- end
27
-
28
- sig do
29
- params(file_path: String,
30
- dependencies: T::Array[NativeDependencyDetails]).void
31
- end
32
- def initialize(file_path:, dependencies:)
33
- @file_path = file_path
34
- @dependencies = dependencies
35
- end
36
-
37
- sig { returns(String) }
38
- attr_reader :file_path
39
-
40
- sig { returns(T::Array[NativeDependencyDetails]) }
41
- attr_reader :dependencies
42
-
43
- sig { overridable.returns(Dependabot::FileParsers::Base::DependencySet) }
44
- def dependency_set # rubocop:disable Metrics/PerceivedComplexity,Metrics/CyclomaticComplexity,Metrics/AbcSize
45
- dependency_set = Dependabot::FileParsers::Base::DependencySet.new
46
-
47
- file_name = Pathname.new(file_path).cleanpath.to_path
48
- dependencies.each do |dependency|
49
- next if dependency.name.casecmp("Microsoft.NET.Sdk")&.zero?
50
-
51
- # If the version string was evaluated it must have been successfully resolved
52
- if dependency.evaluation && dependency.evaluation&.result_type != "Success"
53
- logger.warn "Dependency '#{dependency.name}' excluded due to unparsable version: #{dependency.version}"
54
- next
55
- end
56
-
57
- # Exclude any dependencies using version ranges or wildcards
58
- next if dependency.version&.include?(",") ||
59
- dependency.version&.include?("*")
60
-
61
- # Exclude any dependencies specified using interpolation
62
- next if dependency.name.include?("%(") ||
63
- dependency.version&.include?("%(")
64
-
65
- # Exclude any dependencies which reference an item type
66
- next if dependency.name.include?("@(")
67
-
68
- dependency_file_name = file_name
69
- if dependency.type == "PackagesConfig"
70
- dir_name = File.dirname(file_name)
71
- dependency_file_name = "packages.config"
72
- dependency_file_name = File.join(dir_name, "packages.config") unless dir_name == "."
73
- end
74
-
75
- dependency_set << build_dependency(dependency_file_name, dependency)
76
- end
77
-
78
- dependency_set
79
- end
80
-
81
- private
82
-
83
- sig { returns(::Logger) }
84
- def logger
85
- Dependabot.logger
86
- end
87
-
88
- sig { params(file_name: String, dependency_details: NativeDependencyDetails).returns(Dependabot::Dependency) }
89
- def build_dependency(file_name, dependency_details)
90
- requirement = build_requirement(file_name, dependency_details)
91
- requirements = requirement.nil? ? [] : [requirement]
92
-
93
- version = dependency_details.version&.gsub(/[\(\)\[\]]/, "")&.strip
94
- version = nil if version&.empty?
95
-
96
- Dependency.new(
97
- name: dependency_details.name,
98
- version: version,
99
- package_manager: "nuget",
100
- requirements: requirements
101
- )
102
- end
103
-
104
- sig do
105
- params(file_name: String, dependency_details: NativeDependencyDetails)
106
- .returns(T.nilable(T::Hash[Symbol, T.untyped]))
107
- end
108
- def build_requirement(file_name, dependency_details)
109
- return if dependency_details.is_transitive
110
-
111
- version = dependency_details.version
112
- version = nil if version&.empty?
113
-
114
- requirement = {
115
- requirement: version,
116
- file: file_name,
117
- groups: [dependency_details.is_dev_dependency ? "devDependencies" : "dependencies"],
118
- source: nil
119
- }
120
-
121
- property_name = dependency_details.evaluation&.root_property_name
122
- return requirement unless property_name
123
-
124
- requirement[:metadata] = { property_name: property_name }
125
- requirement
126
- end
127
- end
128
- end
129
- end