dependabot-nuget 0.251.0 → 0.253.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/lib/NuGetUpdater/Directory.Common.props +1 -0
  3. data/helpers/lib/NuGetUpdater/Directory.Packages.props +26 -0
  4. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/DiscoverCommand.cs +35 -0
  5. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/NuGetUpdater.Cli.csproj +1 -1
  6. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Program.cs +4 -7
  7. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Discover.cs +251 -0
  8. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Update.cs +27 -9
  9. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/NuGetUpdater.Cli.Test.csproj +3 -3
  10. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Dependency.cs +56 -1
  11. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencyType.cs +1 -1
  12. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DirectoryPackagesPropsDiscovery.cs +69 -0
  13. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DirectoryPackagesPropsDiscoveryResult.cs +11 -0
  14. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DiscoveryWorker.cs +217 -0
  15. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DotNetToolsJsonDiscovery.cs +30 -0
  16. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DotNetToolsJsonDiscoveryResult.cs +10 -0
  17. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/GlobalJsonDiscovery.cs +30 -0
  18. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/GlobalJsonDiscoveryResult.cs +10 -0
  19. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/IDiscoveryResult.cs +14 -0
  20. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/PackagesConfigDiscovery.cs +29 -0
  21. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/PackagesConfigDiscoveryResult.cs +10 -0
  22. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/ProjectDiscoveryResult.cs +13 -0
  23. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs +128 -0
  24. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/WorkspaceDiscoveryResult.cs +13 -0
  25. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/EvaluationResult.cs +8 -0
  26. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/EvaluationResultType.cs +9 -0
  27. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/BuildFile.cs +6 -8
  28. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/DotNetToolsJsonBuildFile.cs +4 -7
  29. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/GlobalJsonBuildFile.cs +24 -17
  30. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/JsonBuildFile.cs +2 -2
  31. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/PackagesConfigBuildFile.cs +8 -13
  32. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/ProjectBuildFile.cs +100 -19
  33. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/XmlBuildFile.cs +2 -2
  34. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/NuGetUpdater.Core.csproj +6 -6
  35. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Property.cs +6 -0
  36. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/DotNetToolsJsonUpdater.cs +23 -36
  37. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/GlobalJsonUpdater.cs +5 -10
  38. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/SdkPackageUpdater.cs +59 -26
  39. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +5 -20
  40. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/HashSetExtensions.cs +14 -0
  41. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ImmutableArrayExtensions.cs +18 -0
  42. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/JsonHelper.cs +0 -1
  43. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +281 -140
  44. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/NuGetHelper.cs +27 -4
  45. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/PathHelper.cs +18 -13
  46. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +135 -0
  47. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.DotNetToolsJson.cs +91 -0
  48. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.GlobalJson.cs +71 -0
  49. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs +67 -0
  50. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs +405 -0
  51. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +306 -0
  52. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/ExpectedDiscoveryResults.cs +36 -0
  53. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/DotNetToolsJsonBuildFileTests.cs +1 -2
  54. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/GlobalJsonBuildFileTests.cs +2 -3
  55. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/PackagesConfigBuildFileTests.cs +4 -6
  56. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/ProjectBuildFileTests.cs +6 -5
  57. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/NuGetUpdater.Core.Test.csproj +4 -3
  58. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TemporaryDirectory.cs +38 -6
  59. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TestBase.cs +10 -0
  60. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackagesConfigUpdaterTests.cs +1 -8
  61. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs +13 -41
  62. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DirsProj.cs +0 -5
  63. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DotNetTools.cs +0 -5
  64. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.GlobalJson.cs +0 -5
  65. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Mixed.cs +0 -5
  66. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs +0 -5
  67. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Sdk.cs +30 -23
  68. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/AssertEx.cs +272 -0
  69. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/DiffUtil.cs +266 -0
  70. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +239 -161
  71. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterHelperTests.cs +7 -11
  72. data/lib/dependabot/nuget/discovery/dependency_details.rb +95 -0
  73. data/lib/dependabot/nuget/discovery/dependency_file_discovery.rb +126 -0
  74. data/lib/dependabot/nuget/discovery/directory_packages_props_discovery.rb +43 -0
  75. data/lib/dependabot/nuget/discovery/discovery_json_reader.rb +83 -0
  76. data/lib/dependabot/nuget/discovery/evaluation_details.rb +63 -0
  77. data/lib/dependabot/nuget/discovery/project_discovery.rb +71 -0
  78. data/lib/dependabot/nuget/discovery/property_details.rb +43 -0
  79. data/lib/dependabot/nuget/discovery/workspace_discovery.rb +66 -0
  80. data/lib/dependabot/nuget/file_parser.rb +19 -128
  81. data/lib/dependabot/nuget/file_updater.rb +28 -60
  82. data/lib/dependabot/nuget/native_helpers.rb +55 -0
  83. data/lib/dependabot/nuget/update_checker/compatibility_checker.rb +3 -8
  84. data/lib/dependabot/nuget/update_checker/dependency_finder.rb +1 -0
  85. data/lib/dependabot/nuget/update_checker/property_updater.rb +1 -0
  86. data/lib/dependabot/nuget/update_checker/tfm_finder.rb +17 -152
  87. data/lib/dependabot/nuget/update_checker/version_finder.rb +1 -6
  88. data/lib/dependabot/nuget/update_checker.rb +4 -1
  89. metadata +44 -25
  90. data/lib/dependabot/nuget/file_parser/dotnet_tools_json_parser.rb +0 -71
  91. data/lib/dependabot/nuget/file_parser/global_json_parser.rb +0 -68
  92. data/lib/dependabot/nuget/file_parser/packages_config_parser.rb +0 -92
  93. data/lib/dependabot/nuget/file_parser/project_file_parser.rb +0 -620
  94. data/lib/dependabot/nuget/file_parser/property_value_finder.rb +0 -225
  95. data/lib/dependabot/nuget/file_updater/property_value_updater.rb +0 -81
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.251.0
4
+ version: 0.253.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-04-05 00:00:00.000000000 Z
11
+ date: 2024-04-18 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.251.0
19
+ version: 0.253.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.251.0
26
+ version: 0.253.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubyzip
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -184,20 +184,6 @@ dependencies:
184
184
  - - "~>"
185
185
  - !ruby/object:Gem::Version
186
186
  version: 0.7.3
187
- - !ruby/object:Gem::Dependency
188
- name: stackprof
189
- requirement: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - "~>"
192
- - !ruby/object:Gem::Version
193
- version: 0.2.16
194
- type: :development
195
- prerelease: false
196
- version_requirements: !ruby/object:Gem::Requirement
197
- requirements:
198
- - - "~>"
199
- - !ruby/object:Gem::Version
200
- version: 0.2.16
201
187
  - !ruby/object:Gem::Dependency
202
188
  name: turbo_tests
203
189
  requirement: !ruby/object:Gem::Requirement
@@ -267,6 +253,7 @@ files:
267
253
  - helpers/lib/NuGetUpdater/.gitignore
268
254
  - helpers/lib/NuGetUpdater/Directory.Build.props
269
255
  - helpers/lib/NuGetUpdater/Directory.Common.props
256
+ - helpers/lib/NuGetUpdater/Directory.Packages.props
270
257
  - helpers/lib/NuGetUpdater/NuGetProjects/Directory.Build.props
271
258
  - helpers/lib/NuGetUpdater/NuGetProjects/Directory.Build.targets
272
259
  - helpers/lib/NuGetUpdater/NuGetProjects/Directory.Packages.props
@@ -288,13 +275,22 @@ files:
288
275
  - helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Resolver/NuGet.Resolver.csproj
289
276
  - helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Versioning/NuGet.Versioning.csproj
290
277
  - helpers/lib/NuGetUpdater/NuGetProjects/README.md
278
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Discover.cs
291
279
  - helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.FrameworkCheck.cs
292
280
  - helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Update.cs
293
281
  - helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/NuGetUpdater.Cli.Test.csproj
282
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/DiscoverCommand.cs
294
283
  - helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/FrameworkCheckCommand.cs
295
284
  - helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/UpdateCommand.cs
296
285
  - helpers/lib/NuGetUpdater/NuGetUpdater.Cli/NuGetUpdater.Cli.csproj
297
286
  - helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Program.cs
287
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs
288
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.DotNetToolsJson.cs
289
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.GlobalJson.cs
290
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs
291
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs
292
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs
293
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/ExpectedDiscoveryResults.cs
298
294
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/DotNetToolsJsonBuildFileTests.cs
299
295
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/GlobalJsonBuildFileTests.cs
300
296
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/PackagesConfigBuildFileTests.cs
@@ -304,6 +300,7 @@ files:
304
300
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/FrameworkChecker/SupportedFrameworkFacts.cs
305
301
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/NuGetUpdater.Core.Test.csproj
306
302
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TemporaryDirectory.cs
303
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TestBase.cs
307
304
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TestExtensions.cs
308
305
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackagesConfigUpdaterTests.cs
309
306
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs
@@ -313,11 +310,28 @@ files:
313
310
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Mixed.cs
314
311
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs
315
312
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Sdk.cs
313
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/AssertEx.cs
314
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/DiffUtil.cs
316
315
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/JsonHelperTests.cs
317
316
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs
318
317
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterHelperTests.cs
319
318
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Dependency.cs
320
319
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencyType.cs
320
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DirectoryPackagesPropsDiscovery.cs
321
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DirectoryPackagesPropsDiscoveryResult.cs
322
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DiscoveryWorker.cs
323
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DotNetToolsJsonDiscovery.cs
324
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DotNetToolsJsonDiscoveryResult.cs
325
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/GlobalJsonDiscovery.cs
326
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/GlobalJsonDiscoveryResult.cs
327
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/IDiscoveryResult.cs
328
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/PackagesConfigDiscovery.cs
329
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/PackagesConfigDiscoveryResult.cs
330
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/ProjectDiscoveryResult.cs
331
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs
332
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/WorkspaceDiscoveryResult.cs
333
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/EvaluationResult.cs
334
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/EvaluationResultType.cs
321
335
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/BuildFile.cs
322
336
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/DotNetToolsJsonBuildFile.cs
323
337
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/GlobalJsonBuildFile.cs
@@ -329,6 +343,7 @@ files:
329
343
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/FrameworkChecker/FrameworkCompatibilityService.cs
330
344
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/FrameworkChecker/SupportedFrameworks.cs
331
345
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/NuGetUpdater.Core.csproj
346
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Property.cs
332
347
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectManager.cs
333
348
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectResolver.cs
334
349
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/ConfigurationFile.cs
@@ -340,6 +355,8 @@ files:
340
355
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs
341
356
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/WebApplicationTargetsConditionPatcher.cs
342
357
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/XmlFilePreAndPostProcessor.cs
358
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/HashSetExtensions.cs
359
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ImmutableArrayExtensions.cs
343
360
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/JsonHelper.cs
344
361
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/Logger.cs
345
362
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs
@@ -351,17 +368,19 @@ files:
351
368
  - helpers/lib/NuGetUpdater/xunit.runner.json
352
369
  - lib/dependabot/nuget.rb
353
370
  - lib/dependabot/nuget/cache_manager.rb
371
+ - lib/dependabot/nuget/discovery/dependency_details.rb
372
+ - lib/dependabot/nuget/discovery/dependency_file_discovery.rb
373
+ - lib/dependabot/nuget/discovery/directory_packages_props_discovery.rb
374
+ - lib/dependabot/nuget/discovery/discovery_json_reader.rb
375
+ - lib/dependabot/nuget/discovery/evaluation_details.rb
376
+ - lib/dependabot/nuget/discovery/project_discovery.rb
377
+ - lib/dependabot/nuget/discovery/property_details.rb
378
+ - lib/dependabot/nuget/discovery/workspace_discovery.rb
354
379
  - lib/dependabot/nuget/file_fetcher.rb
355
380
  - lib/dependabot/nuget/file_fetcher/import_paths_finder.rb
356
381
  - lib/dependabot/nuget/file_fetcher/sln_project_paths_finder.rb
357
382
  - lib/dependabot/nuget/file_parser.rb
358
- - lib/dependabot/nuget/file_parser/dotnet_tools_json_parser.rb
359
- - lib/dependabot/nuget/file_parser/global_json_parser.rb
360
- - lib/dependabot/nuget/file_parser/packages_config_parser.rb
361
- - lib/dependabot/nuget/file_parser/project_file_parser.rb
362
- - lib/dependabot/nuget/file_parser/property_value_finder.rb
363
383
  - lib/dependabot/nuget/file_updater.rb
364
- - lib/dependabot/nuget/file_updater/property_value_updater.rb
365
384
  - lib/dependabot/nuget/http_response_helpers.rb
366
385
  - lib/dependabot/nuget/metadata_finder.rb
367
386
  - lib/dependabot/nuget/native_helpers.rb
@@ -385,7 +404,7 @@ licenses:
385
404
  - Nonstandard
386
405
  metadata:
387
406
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
388
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.251.0
407
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.253.0
389
408
  post_install_message:
390
409
  rdoc_options: []
391
410
  require_paths:
@@ -1,71 +0,0 @@
1
- # typed: strict
2
- # frozen_string_literal: true
3
-
4
- require "json"
5
- require "sorbet-runtime"
6
-
7
- require "dependabot/dependency"
8
- require "dependabot/nuget/file_parser"
9
-
10
- # For details on dotnet-tools.json files see:
11
- # https://learn.microsoft.com/en-us/dotnet/core/tools/local-tools-how-to-use
12
- module Dependabot
13
- module Nuget
14
- class FileParser
15
- class DotNetToolsJsonParser
16
- extend T::Sig
17
-
18
- require "dependabot/file_parsers/base/dependency_set"
19
-
20
- sig { params(dotnet_tools_json: Dependabot::DependencyFile).void }
21
- def initialize(dotnet_tools_json:)
22
- @dotnet_tools_json = dotnet_tools_json
23
- @parsed_dotnet_tools_json = T.let(nil, T.nilable(T::Hash[String, T.untyped]))
24
- end
25
-
26
- sig { returns(Dependabot::FileParsers::Base::DependencySet) }
27
- def dependency_set
28
- dependency_set = Dependabot::FileParsers::Base::DependencySet.new
29
-
30
- tools = parsed_dotnet_tools_json.fetch("tools", {})
31
-
32
- raise Dependabot::DependencyFileNotParseable, dotnet_tools_json.path unless tools.is_a?(Hash)
33
-
34
- tools.each do |dependency_name, node|
35
- raise Dependabot::DependencyFileNotParseable, dotnet_tools_json.path unless node.is_a?(Hash)
36
-
37
- version = node["version"]
38
- dependency_set <<
39
- Dependency.new(
40
- name: dependency_name,
41
- version: version,
42
- package_manager: "nuget",
43
- requirements: [{
44
- requirement: version,
45
- file: dotnet_tools_json.name,
46
- groups: ["dependencies"],
47
- source: nil
48
- }]
49
- )
50
- end
51
-
52
- dependency_set
53
- end
54
-
55
- private
56
-
57
- sig { returns(Dependabot::DependencyFile) }
58
- attr_reader :dotnet_tools_json
59
-
60
- sig { returns(T::Hash[String, T.untyped]) }
61
- def parsed_dotnet_tools_json
62
- # Remove BOM if present as JSON should be UTF-8
63
- content = T.must(dotnet_tools_json.content)
64
- @parsed_dotnet_tools_json ||= JSON.parse(content.delete_prefix("\uFEFF"))
65
- rescue JSON::ParserError
66
- raise Dependabot::DependencyFileNotParseable, dotnet_tools_json.path
67
- end
68
- end
69
- end
70
- end
71
- end
@@ -1,68 +0,0 @@
1
- # typed: strict
2
- # frozen_string_literal: true
3
-
4
- require "json"
5
- require "sorbet-runtime"
6
-
7
- require "dependabot/dependency"
8
- require "dependabot/nuget/file_parser"
9
-
10
- # For details on global.json files see:
11
- # https://docs.microsoft.com/en-us/dotnet/core/tools/global-json
12
- module Dependabot
13
- module Nuget
14
- class FileParser
15
- class GlobalJsonParser
16
- extend T::Sig
17
-
18
- require "dependabot/file_parsers/base/dependency_set"
19
-
20
- sig { params(global_json: Dependabot::DependencyFile).void }
21
- def initialize(global_json:)
22
- @global_json = global_json
23
- @parsed_global_json = T.let(nil, T.nilable(T::Hash[String, T.untyped]))
24
- end
25
-
26
- sig { returns(Dependabot::FileParsers::Base::DependencySet) }
27
- def dependency_set
28
- dependency_set = Dependabot::FileParsers::Base::DependencySet.new
29
-
30
- project_sdks = parsed_global_json.fetch("msbuild-sdks", {})
31
-
32
- raise Dependabot::DependencyFileNotParseable, global_json.path unless project_sdks.is_a?(Hash)
33
-
34
- project_sdks.each do |dependency_name, version|
35
- dependency_set <<
36
- Dependency.new(
37
- name: dependency_name,
38
- version: version,
39
- package_manager: "nuget",
40
- requirements: [{
41
- requirement: version,
42
- file: global_json.name,
43
- groups: ["dependencies"],
44
- source: nil
45
- }]
46
- )
47
- end
48
-
49
- dependency_set
50
- end
51
-
52
- private
53
-
54
- sig { returns(Dependabot::DependencyFile) }
55
- attr_reader :global_json
56
-
57
- sig { returns(T::Hash[String, T.untyped]) }
58
- def parsed_global_json
59
- # Remove BOM if present as JSON should be UTF-8
60
- content = T.must(global_json.content)
61
- @parsed_global_json ||= JSON.parse(content.delete_prefix("\uFEFF"))
62
- rescue JSON::ParserError
63
- raise Dependabot::DependencyFileNotParseable, global_json.path
64
- end
65
- end
66
- end
67
- end
68
- end
@@ -1,92 +0,0 @@
1
- # typed: strict
2
- # frozen_string_literal: true
3
-
4
- require "nokogiri"
5
- require "sorbet-runtime"
6
-
7
- require "dependabot/dependency"
8
- require "dependabot/nuget/file_parser"
9
- require "dependabot/nuget/cache_manager"
10
-
11
- # For details on packages.config files see:
12
- # https://docs.microsoft.com/en-us/nuget/reference/packages-config
13
- module Dependabot
14
- module Nuget
15
- class FileParser
16
- class PackagesConfigParser
17
- extend T::Sig
18
- require "dependabot/file_parsers/base/dependency_set"
19
-
20
- DEPENDENCY_SELECTOR = "packages > package"
21
-
22
- sig { returns(T::Hash[String, Dependabot::FileParsers::Base::DependencySet]) }
23
- def self.dependency_set_cache
24
- CacheManager.cache("packages_config_dependency_set")
25
- end
26
-
27
- sig { params(packages_config: Dependabot::DependencyFile).void }
28
- def initialize(packages_config:)
29
- @packages_config = packages_config
30
- end
31
-
32
- sig { returns(Dependabot::FileParsers::Base::DependencySet) }
33
- def dependency_set
34
- key = "#{packages_config.name.downcase}::#{packages_config.content.hash}"
35
- cache = PackagesConfigParser.dependency_set_cache
36
-
37
- cache[key] ||= parse_dependencies
38
- end
39
-
40
- private
41
-
42
- sig { returns(Dependabot::DependencyFile) }
43
- attr_reader :packages_config
44
-
45
- sig { returns(Dependabot::FileParsers::Base::DependencySet) }
46
- def parse_dependencies
47
- dependency_set = Dependabot::FileParsers::Base::DependencySet.new
48
-
49
- doc = Nokogiri::XML(packages_config.content)
50
- doc.remove_namespaces!
51
- doc.css(DEPENDENCY_SELECTOR).each do |dependency_node|
52
- dependency_set <<
53
- Dependency.new(
54
- name: T.must(dependency_name(dependency_node)),
55
- version: dependency_version(dependency_node),
56
- package_manager: "nuget",
57
- requirements: [{
58
- requirement: dependency_version(dependency_node),
59
- file: packages_config.name,
60
- groups: [dependency_type(dependency_node)],
61
- source: nil
62
- }]
63
- )
64
- end
65
-
66
- dependency_set
67
- end
68
-
69
- sig { params(dependency_node: Nokogiri::XML::Node).returns(T.nilable(String)) }
70
- def dependency_name(dependency_node)
71
- dependency_node.attribute("id")&.value&.strip ||
72
- dependency_node.at_xpath("./id")&.content&.strip
73
- end
74
-
75
- sig { params(dependency_node: Nokogiri::XML::Node).returns(T.nilable(String)) }
76
- def dependency_version(dependency_node)
77
- # Ranges and wildcards aren't allowed in a packages.config - the
78
- # specified requirement is always an exact version.
79
- dependency_node.attribute("version")&.value&.strip ||
80
- dependency_node.at_xpath("./version")&.content&.strip
81
- end
82
-
83
- sig { params(dependency_node: Nokogiri::XML::Node).returns(String) }
84
- def dependency_type(dependency_node)
85
- val = dependency_node.attribute("developmentDependency")&.value&.strip ||
86
- dependency_node.at_xpath("./developmentDependency")&.content&.strip
87
- val.to_s.casecmp("true").zero? ? "devDependencies" : "dependencies"
88
- end
89
- end
90
- end
91
- end
92
- end