dependabot-nuget 0.290.0 → 0.292.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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/lib/NuGetUpdater/.editorconfig +1 -0
  3. data/helpers/lib/NuGetUpdater/Directory.Build.props +1 -0
  4. data/helpers/lib/NuGetUpdater/Directory.Packages.props +1 -1
  5. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/AnalyzeCommand.cs +1 -1
  6. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/CloneCommand.cs +1 -1
  7. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/DiscoverCommand.cs +15 -1
  8. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/RunCommand.cs +2 -2
  9. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/UpdateCommand.cs +1 -1
  10. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Analyze.cs +2 -1
  11. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Discover.cs +87 -3
  12. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Update.cs +1 -1
  13. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/AnalyzeWorker.cs +14 -0
  14. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/DependencyFinder.cs +2 -0
  15. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/RequirementConverter.cs +19 -1
  16. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/BadRequirementException.cs +9 -0
  17. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Clone/CloneWorker.cs +39 -8
  18. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DiscoveryWorker.cs +111 -17
  19. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/PackagesConfigDiscovery.cs +2 -2
  20. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/ProjectDiscoveryResult.cs +2 -0
  21. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs +19 -11
  22. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/ErrorType.cs +2 -0
  23. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/ExperimentsManager.cs +31 -5
  24. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/NuGetUpdater.Core.csproj +1 -0
  25. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/BadRequirement.cs +10 -0
  26. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/CommitOptions.cs +1 -1
  27. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/DependencyFileNotFound.cs +3 -2
  28. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobErrorBase.cs +1 -2
  29. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobRepoNotFound.cs +1 -4
  30. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceAuthenticationFailure.cs +1 -1
  31. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/UnknownError.cs +6 -2
  32. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/UpdateNotPossible.cs +1 -1
  33. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs +9 -3
  34. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/LockFileUpdater.cs +3 -2
  35. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +43 -18
  36. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +1 -1
  37. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/WebApplicationTargetsConditionPatcher.cs +12 -1
  38. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/DependencyConflictResolver.cs +0 -7
  39. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +48 -17
  40. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/NuGetHelper.cs +2 -2
  41. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ProcessExtensions.cs +45 -7
  42. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ProjectHelper.cs +4 -4
  43. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Clone/CloneWorkerTests.cs +60 -2
  44. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +10 -1
  45. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs +56 -0
  46. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +41 -0
  47. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/ExpectedDiscoveryResults.cs +2 -0
  48. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/SdkProjectDiscoveryTests.cs +1 -1
  49. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/MockNuGetPackage.cs +2 -1
  50. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs +1 -1
  51. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +76 -40
  52. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs +20 -2
  53. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.GlobalJson.cs +2 -2
  54. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.LockFile.cs +251 -0
  55. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs +6 -6
  56. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs +63 -5
  57. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +277 -73
  58. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/ProjectHelperTests.cs +65 -0
  59. data/helpers/lib/NuGetUpdater/global.json +1 -1
  60. data/lib/dependabot/nuget/file_fetcher.rb +1 -0
  61. data/lib/dependabot/nuget/file_parser.rb +90 -0
  62. data/lib/dependabot/nuget/language.rb +98 -0
  63. data/lib/dependabot/nuget/native_helpers.rb +25 -0
  64. data/lib/dependabot/nuget/package_manager.rb +51 -0
  65. metadata +12 -6
@@ -0,0 +1,65 @@
1
+ using NuGetUpdater.Core.Utilities;
2
+
3
+ using Xunit;
4
+
5
+ namespace NuGetUpdater.Core.Test.Utilities;
6
+
7
+ public class ProjectHelperTests : TestBase
8
+ {
9
+ [Theory]
10
+ [MemberData(nameof(AdditionalFile))]
11
+ public async Task GetAdditionalFilesFromProject(string projectPath, (string Name, string Content)[] files, string[] expectedAdditionalFiles)
12
+ {
13
+ using var tempDirectory = await TemporaryDirectory.CreateWithContentsAsync(files);
14
+ var fullProjectPath = Path.Join(tempDirectory.DirectoryPath, projectPath);
15
+
16
+ var actualAdditionalFiles = ProjectHelper.GetAllAdditionalFilesFromProject(fullProjectPath, ProjectHelper.PathFormat.Relative);
17
+ AssertEx.Equal(expectedAdditionalFiles, actualAdditionalFiles);
18
+ }
19
+
20
+ public static IEnumerable<object[]> AdditionalFile()
21
+ {
22
+ // no additional files
23
+ yield return
24
+ [
25
+ // project path
26
+ "src/project.csproj",
27
+ // files
28
+ new[]
29
+ {
30
+ ("src/project.csproj", """
31
+ <Project>
32
+ </Project>
33
+ """)
34
+ },
35
+ // expected additional files
36
+ Array.Empty<string>()
37
+ ];
38
+
39
+ // files with relative paths
40
+ yield return
41
+ [
42
+ // project path
43
+ "src/project.csproj",
44
+ // files
45
+ new[]
46
+ {
47
+ ("src/project.csproj", """
48
+ <Project>
49
+ <ItemGroup>
50
+ <None Include="..\unexpected-path\packages.config" />
51
+ </ItemGroup>
52
+ </Project>
53
+ """),
54
+ ("unexpected-path/packages.config", """
55
+ <packages></packages>
56
+ """)
57
+ },
58
+ // expected additional files
59
+ new[]
60
+ {
61
+ "../unexpected-path/packages.config"
62
+ }
63
+ ];
64
+ }
65
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "sdk": {
3
- "version": "9.0.100",
3
+ "version": "9.0.101",
4
4
  "rollForward": "latestMinor"
5
5
  }
6
6
  }
@@ -26,6 +26,7 @@ module Dependabot
26
26
 
27
27
  sig { override.returns(T::Array[DependencyFile]) }
28
28
  def fetch_files
29
+ NativeHelpers.install_dotnet_sdks
29
30
  discovery_json_reader = DiscoveryJsonReader.run_discovery_in_directory(
30
31
  repo_contents_path: T.must(repo_contents_path),
31
32
  directory: directory,
@@ -7,6 +7,8 @@ require "dependabot/file_parsers/base"
7
7
  require "dependabot/nuget/discovery/discovery_json_reader"
8
8
  require "dependabot/nuget/native_helpers"
9
9
  require "sorbet-runtime"
10
+ require "dependabot/nuget/package_manager"
11
+ require "dependabot/nuget/language"
10
12
 
11
13
  # For details on how dotnet handles version constraints, see:
12
14
  # https://docs.microsoft.com/en-us/nuget/reference/package-versioning
@@ -22,11 +24,40 @@ module Dependabot
22
24
  dependencies
23
25
  end
24
26
 
27
+ sig { returns(Ecosystem) }
28
+ def ecosystem
29
+ @ecosystem ||= T.let(
30
+ Ecosystem.new(
31
+ name: ECOSYSTEM,
32
+ package_manager: package_manager,
33
+ language: language
34
+ ),
35
+ T.nilable(Ecosystem)
36
+ )
37
+ end
38
+
25
39
  private
26
40
 
41
+ sig { returns(T.nilable(T::Array[String])) }
42
+ def content_json
43
+ @content_json ||= T.let(begin
44
+ directory = source&.directory || "/"
45
+ discovery_json_reader = DiscoveryJsonReader.run_discovery_in_directory(
46
+ repo_contents_path: T.must(repo_contents_path),
47
+ directory: directory,
48
+ credentials: credentials
49
+ )
50
+
51
+ discovery_json_reader.workspace_discovery&.projects&.map do |framework|
52
+ T.let(framework.instance_variable_get(:@target_frameworks), T::Array[String]).compact.join(",")
53
+ end
54
+ end, T.nilable(T::Array[String]))
55
+ end
56
+
27
57
  sig { returns(T::Array[Dependabot::Dependency]) }
28
58
  def dependencies
29
59
  @dependencies ||= T.let(begin
60
+ NativeHelpers.install_dotnet_sdks
30
61
  directory = source&.directory || "/"
31
62
  discovery_json_reader = DiscoveryJsonReader.run_discovery_in_directory(
32
63
  repo_contents_path: T.must(repo_contents_path),
@@ -53,6 +84,65 @@ module Dependabot
53
84
  "No project file."
54
85
  )
55
86
  end
87
+
88
+ sig { returns(T.nilable(Ecosystem::VersionManager)) }
89
+ def language
90
+ # Historically new version of language is released with incremental update of
91
+ # .Net version, so we tie the language with framework version for metric collection
92
+
93
+ nomenclature = "#{language_type} #{framework_version&.join(',')}".strip.tr(" ", "-")
94
+
95
+ Dependabot.logger.info("Detected language and framework #{nomenclature}")
96
+
97
+ case language_type
98
+
99
+ when CSharpLanguage::TYPE
100
+ CSharpLanguage.new(nomenclature)
101
+
102
+ when VBLanguage::TYPE
103
+ VBLanguage.new(nomenclature)
104
+
105
+ when FSharpLanguage::TYPE
106
+ FSharpLanguage.new(nomenclature)
107
+
108
+ when DotNet::TYPE
109
+ DotNet.new(nomenclature)
110
+
111
+ end
112
+ end
113
+
114
+ sig { returns(T.nilable(T::Array[String])) }
115
+ def framework_version
116
+ content_json
117
+ rescue StandardError
118
+ nil
119
+ end
120
+
121
+ sig { returns(T.nilable(String)) }
122
+ def language_type
123
+ requirement_files = dependencies.flat_map do |dep|
124
+ dep.requirements.map { |r| T.let(r.fetch(:file), String) }
125
+ end.uniq
126
+
127
+ return "cs" if requirement_files.any? { |f| File.basename(f).match?(/\.csproj$/) }
128
+ return "vb" if requirement_files.any? { |f| File.basename(f).match?(/\.vbproj$/) }
129
+ return "fs" if requirement_files.any? { |f| File.basename(f).match?(/\.fsproj$/) }
130
+
131
+ # return a fallback to avoid falling to exception
132
+ "dotnet"
133
+ end
134
+
135
+ sig { returns(Ecosystem::VersionManager) }
136
+ def package_manager
137
+ NugetPackageManager.new(T.must(nuget_version))
138
+ end
139
+
140
+ sig { returns(T.nilable(String)) }
141
+ def nuget_version
142
+ SharedHelpers.run_shell_command("dotnet nuget --version").split("Command Line").last&.strip
143
+ rescue StandardError
144
+ nil
145
+ end
56
146
  end
57
147
  end
58
148
  end
@@ -0,0 +1,98 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ require "sorbet-runtime"
5
+ require "dependabot/nuget/version"
6
+ require "dependabot/ecosystem"
7
+
8
+ module Dependabot
9
+ module Nuget
10
+ class Language < Dependabot::Ecosystem::VersionManager
11
+ extend T::Sig
12
+
13
+ sig { params(language: String, raw_version: String, requirement: T.nilable(Requirement)).void }
14
+ def initialize(language, raw_version, requirement = nil)
15
+ super(
16
+ name: language,
17
+ version: Version.new(raw_version),
18
+ requirement: requirement,
19
+ )
20
+ end
21
+ end
22
+
23
+ class CSharpLanguage < Dependabot::Ecosystem::VersionManager
24
+ extend T::Sig
25
+
26
+ LANGUAGE = "CSharp"
27
+ TYPE = "cs"
28
+
29
+ SUPPORTED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
30
+
31
+ DEPRECATED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
32
+
33
+ sig { params(language: String, requirement: T.nilable(Requirement)).void }
34
+ def initialize(language, requirement = nil)
35
+ super(
36
+ name: language,
37
+ requirement: requirement,
38
+ )
39
+ end
40
+ end
41
+
42
+ class VBLanguage < Dependabot::Ecosystem::VersionManager
43
+ extend T::Sig
44
+
45
+ LANGUAGE = "VB"
46
+ TYPE = "vb"
47
+
48
+ SUPPORTED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
49
+
50
+ DEPRECATED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
51
+
52
+ sig { params(language: String, requirement: T.nilable(Requirement)).void }
53
+ def initialize(language, requirement = nil)
54
+ super(
55
+ name: language,
56
+ requirement: requirement,
57
+ )
58
+ end
59
+ end
60
+
61
+ class FSharpLanguage < Dependabot::Ecosystem::VersionManager
62
+ extend T::Sig
63
+
64
+ LANGUAGE = "FSharp"
65
+ TYPE = "fs"
66
+
67
+ SUPPORTED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
68
+
69
+ DEPRECATED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
70
+
71
+ sig { params(language: String, requirement: T.nilable(Requirement)).void }
72
+ def initialize(language, requirement = nil)
73
+ super(
74
+ name: language,
75
+ requirement: requirement,
76
+ )
77
+ end
78
+ end
79
+
80
+ class DotNet < Dependabot::Ecosystem::VersionManager
81
+ extend T::Sig
82
+
83
+ TYPE = "dotnet"
84
+
85
+ SUPPORTED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
86
+
87
+ DEPRECATED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
88
+
89
+ sig { params(language: String, requirement: T.nilable(Requirement)).void }
90
+ def initialize(language, requirement = nil)
91
+ super(
92
+ name: language,
93
+ requirement: requirement,
94
+ )
95
+ end
96
+ end
97
+ end
98
+ end
@@ -269,6 +269,27 @@ module Dependabot
269
269
  end
270
270
  end
271
271
 
272
+ sig { void }
273
+ def self.install_dotnet_sdks
274
+ return unless Dependabot::Experiments.enabled?(:nuget_install_dotnet_sdks)
275
+
276
+ # environment variables are required and the following will generate an actionable error message if they're not
277
+ _dependabot_job_path = ENV.fetch("DEPENDABOT_JOB_PATH")
278
+ _dependabot_repo_contents_path = ENV.fetch("DEPENDABOT_REPO_CONTENTS_PATH")
279
+ _dotnet_install_script_path = ENV.fetch("DOTNET_INSTALL_SCRIPT_PATH")
280
+ _dotnet_install_dir = ENV.fetch("DOTNET_INSTALL_DIR")
281
+
282
+ # this environment variable is directly used
283
+ dependabot_home = ENV.fetch("DEPENDABOT_HOME")
284
+
285
+ command = [
286
+ "pwsh",
287
+ "#{dependabot_home}/dependabot-updater/bin/install-sdks.ps1"
288
+ ].join(" ")
289
+ output = SharedHelpers.run_shell_command(command)
290
+ puts output
291
+ end
292
+
272
293
  sig { params(json: T::Hash[String, T.untyped]).void }
273
294
  def self.ensure_no_errors(json)
274
295
  error_type = T.let(json.fetch("ErrorType", nil), T.nilable(String))
@@ -276,8 +297,12 @@ module Dependabot
276
297
  case error_type
277
298
  when "None", nil
278
299
  # no issue
300
+ when "DependencyFileNotParseable"
301
+ raise DependencyFileNotParseable, T.must(T.let(error_details, T.nilable(String)))
279
302
  when "AuthenticationFailure"
280
303
  raise PrivateSourceAuthenticationFailure, T.let(error_details, T.nilable(String))
304
+ when "BadRequirement"
305
+ raise BadRequirementError, T.let(error_details, T.nilable(String))
281
306
  when "MissingFile"
282
307
  raise DependencyFileNotFound, T.let(error_details, T.nilable(String))
283
308
  when "UpdateNotPossible"
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ require "sorbet-runtime"
5
+ require "dependabot/nuget/version"
6
+ require "dependabot/ecosystem"
7
+ require "dependabot/nuget/requirement"
8
+
9
+ module Dependabot
10
+ module Nuget
11
+ ECOSYSTEM = "dotnet"
12
+
13
+ SUPPORTED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
14
+
15
+ DEPRECATED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
16
+
17
+ class NugetPackageManager < Dependabot::Ecosystem::VersionManager
18
+ extend T::Sig
19
+
20
+ NAME = "nuget"
21
+
22
+ SUPPORTED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
23
+
24
+ DEPRECATED_VERSIONS = T.let([].freeze, T::Array[Dependabot::Version])
25
+
26
+ sig do
27
+ params(
28
+ raw_version: T.nilable(String)
29
+ ).void
30
+ end
31
+ def initialize(raw_version)
32
+ super(
33
+ name: NAME,
34
+ version: Version.new(raw_version),
35
+ deprecated_versions: DEPRECATED_VERSIONS,
36
+ supported_versions: SUPPORTED_VERSIONS
37
+ )
38
+ end
39
+
40
+ sig { override.returns(T::Boolean) }
41
+ def deprecated?
42
+ false
43
+ end
44
+
45
+ sig { override.returns(T::Boolean) }
46
+ def unsupported?
47
+ false
48
+ end
49
+ end
50
+ end
51
+ end
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.290.0
4
+ version: 0.292.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-12-12 00:00:00.000000000 Z
11
+ date: 2025-01-09 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.290.0
19
+ version: 0.292.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.290.0
26
+ version: 0.292.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubyzip
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -352,6 +352,7 @@ files:
352
352
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DirsProj.cs
353
353
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DotNetTools.cs
354
354
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.GlobalJson.cs
355
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.LockFile.cs
355
356
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Mixed.cs
356
357
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs
357
358
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs
@@ -361,6 +362,7 @@ files:
361
362
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/LinuxOnlyAttribute.cs
362
363
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs
363
364
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/PathHelperTests.cs
365
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/ProjectHelperTests.cs
364
366
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterHelperTests.cs
365
367
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/AnalysisResult.cs
366
368
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/AnalyzeWorker.cs
@@ -376,6 +378,7 @@ files:
376
378
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/SecurityVulnerabilityExtensions.cs
377
379
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/VersionFinder.cs
378
380
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/VersionResult.cs
381
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/BadRequirementException.cs
379
382
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Clone/CloneWorker.cs
380
383
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Clone/IGitCommandHandler.cs
381
384
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Clone/ShellGitCommandHandler.cs
@@ -417,6 +420,7 @@ files:
417
420
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Property.cs
418
421
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Advisory.cs
419
422
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/AllowedUpdate.cs
423
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/BadRequirement.cs
420
424
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/CommitOptions.cs
421
425
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Condition.cs
422
426
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/CreatePullRequest.cs
@@ -491,9 +495,11 @@ files:
491
495
  - lib/dependabot/nuget/file_fetcher.rb
492
496
  - lib/dependabot/nuget/file_parser.rb
493
497
  - lib/dependabot/nuget/file_updater.rb
498
+ - lib/dependabot/nuget/language.rb
494
499
  - lib/dependabot/nuget/metadata_finder.rb
495
500
  - lib/dependabot/nuget/native_helpers.rb
496
501
  - lib/dependabot/nuget/nuget_config_credential_helpers.rb
502
+ - lib/dependabot/nuget/package_manager.rb
497
503
  - lib/dependabot/nuget/requirement.rb
498
504
  - lib/dependabot/nuget/update_checker.rb
499
505
  - lib/dependabot/nuget/update_checker/requirements_updater.rb
@@ -503,7 +509,7 @@ licenses:
503
509
  - MIT
504
510
  metadata:
505
511
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
506
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.290.0
512
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.292.0
507
513
  post_install_message:
508
514
  rdoc_options: []
509
515
  require_paths:
@@ -519,7 +525,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
519
525
  - !ruby/object:Gem::Version
520
526
  version: 3.1.0
521
527
  requirements: []
522
- rubygems_version: 3.5.9
528
+ rubygems_version: 3.5.22
523
529
  signing_key:
524
530
  specification_version: 4
525
531
  summary: Provides Dependabot support for .NET (NuGet)