dependabot-nuget 0.321.3 → 0.322.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/lib/NuGetUpdater/Directory.Packages.props +22 -22
  3. data/helpers/lib/NuGetUpdater/DotNetPackageCorrelation.Cli/Program.cs +21 -7
  4. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/AnalyzeCommand.cs +19 -11
  5. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/CloneCommand.cs +19 -9
  6. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/DiscoverCommand.cs +21 -14
  7. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/FrameworkCheckCommand.cs +8 -5
  8. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/RunCommand.cs +29 -16
  9. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/UpdateCommand.cs +20 -19
  10. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Program.cs +2 -1
  11. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Analyze.cs +1 -1
  12. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Discover.cs +10 -23
  13. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Run.cs +9 -0
  14. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Update.cs +15 -232
  15. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs +1 -154
  16. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/ExperimentsManager.cs +3 -12
  17. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/GlobalJsonBuildFile.cs +5 -13
  18. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/PrivateSourceTimedOutException.cs +12 -0
  19. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobErrorBase.cs +4 -0
  20. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceTimedOut.cs +10 -0
  21. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/AzurePackageDetailFinder.cs +30 -0
  22. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/DetailedPullRequestBodyGenerator.cs +237 -0
  23. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/GitHubPackageDetailFinder.cs +101 -0
  24. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/GitLabPackageDetailFinder.cs +107 -0
  25. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/HttpFetcher.cs +32 -0
  26. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IHttpFetcher.cs +30 -0
  27. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IPackageDetailFinder.cs +47 -0
  28. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IPullRequestBodyGenerator.cs +11 -0
  29. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/SimplePullRequestBodyGenerator.cs +15 -0
  30. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestTextGenerator.cs +7 -3
  31. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs +3 -525
  32. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/CreateSecurityUpdatePullRequestHandler.cs +2 -2
  33. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/GroupUpdateAllVersionsHandler.cs +4 -4
  34. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandler.cs +2 -2
  35. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandler.cs +2 -2
  36. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandler.cs +2 -2
  37. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/FileWriterWorker.cs +85 -35
  38. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/XmlFileWriter.cs +27 -8
  39. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +1 -856
  40. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdateOperationBase.cs +18 -7
  41. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +16 -200
  42. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +21 -556
  43. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Analyze/AnalyzeWorkerTests.cs +9 -73
  44. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Clone/CloneWorkerTests.cs +2 -2
  45. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/DependencySolver/MSBuildDependencySolverTests.cs +1 -1
  46. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +1 -20
  47. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.GlobalJson.cs +0 -2
  48. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs +3 -62
  49. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs +13 -563
  50. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +20 -269
  51. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/SdkProjectDiscoveryTests.cs +2 -2
  52. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/GlobalJsonBuildFileTests.cs +0 -1
  53. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/EndToEndTests.cs +131 -131
  54. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/HttpApiHandlerTests.cs +1 -0
  55. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/JobErrorBaseTests.cs +7 -0
  56. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MessageReportTests.cs +11 -0
  57. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MiscellaneousTests.cs +0 -203
  58. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/DetailedPullRequestBodyGeneratorTests.cs +871 -0
  59. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/IPackageDetailFinderTests.cs +28 -0
  60. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/TestHttpFetcher.cs +23 -0
  61. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestTextTests.cs +24 -24
  62. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +14 -12
  63. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/CreateSecurityUpdatePullRequestHandlerTests.cs +6 -6
  64. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/GroupUpdateAllVersionsHandlerTests.cs +18 -18
  65. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandlerTests.cs +15 -15
  66. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandlerTests.cs +21 -21
  67. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandlerTests.cs +15 -15
  68. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/UpdateHandlersTestsBase.cs +1 -8
  69. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests.cs +2 -2
  70. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests_MiscellaneousTests.cs +45 -0
  71. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests.cs +111 -0
  72. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackageReferenceUpdaterTests.cs +1 -159
  73. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +26 -660
  74. data/helpers/lib/NuGetUpdater/global.json +1 -1
  75. metadata +18 -10
  76. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunResult.cs +0 -13
  77. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestMessageTests.cs +0 -296
  78. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs +0 -3592
  79. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdatePermittedAndMessageTests.cs +0 -457
  80. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DirsProj.cs +0 -378
  81. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterHelperTests.cs +0 -175
@@ -21,7 +21,18 @@ public abstract record UpdateOperationBase
21
21
  public required NuGetVersion NewVersion { get; init; }
22
22
  public required ImmutableArray<string> UpdatedFiles { get; init; }
23
23
 
24
- public abstract string GetReport();
24
+ protected abstract string GetReportText();
25
+
26
+ public string GetReport(bool includeFileNames)
27
+ {
28
+ var report = GetReportText();
29
+ if (includeFileNames)
30
+ {
31
+ report += $" in {string.Join(", ", UpdatedFiles)}";
32
+ }
33
+
34
+ return report;
35
+ }
25
36
 
26
37
  public ReportedDependency ToReportedDependency(string projectPath, IEnumerable<ReportedDependency> previouslyReportedDependencies, IEnumerable<Dependency> updatedDependencies)
27
38
  {
@@ -49,9 +60,9 @@ public abstract record UpdateOperationBase
49
60
  };
50
61
  }
51
62
 
52
- internal static string GenerateUpdateOperationReport(IEnumerable<UpdateOperationBase> updateOperations)
63
+ internal static string GenerateUpdateOperationReport(IEnumerable<UpdateOperationBase> updateOperations, bool includeFileNames = true)
53
64
  {
54
- var updateMessages = updateOperations.Select(u => u.GetReport()).ToImmutableArray();
65
+ var updateMessages = updateOperations.Select(u => u.GetReport(includeFileNames)).Distinct(StringComparer.OrdinalIgnoreCase).ToImmutableArray();
55
66
  if (updateMessages.Length == 0)
56
67
  {
57
68
  return string.Empty;
@@ -144,12 +155,12 @@ public abstract record UpdateOperationBase
144
155
  public record DirectUpdate : UpdateOperationBase
145
156
  {
146
157
  public override string Type => nameof(DirectUpdate);
147
- public override string GetReport()
158
+ protected override string GetReportText()
148
159
  {
149
160
  var fromText = OldVersion is null
150
161
  ? string.Empty
151
162
  : $"from {OldVersion} ";
152
- return $"Updated {DependencyName} {fromText}to {NewVersion} in {string.Join(", ", UpdatedFiles)}";
163
+ return $"Updated {DependencyName} {fromText}to {NewVersion}";
153
164
  }
154
165
 
155
166
  public sealed override string ToString() => GetString();
@@ -158,7 +169,7 @@ public record DirectUpdate : UpdateOperationBase
158
169
  public record PinnedUpdate : UpdateOperationBase
159
170
  {
160
171
  public override string Type => nameof(PinnedUpdate);
161
- public override string GetReport() => $"Pinned {DependencyName} at {NewVersion} in {string.Join(", ", UpdatedFiles)}";
172
+ protected override string GetReportText() => $"Pinned {DependencyName} at {NewVersion}";
162
173
  public sealed override string ToString() => GetString();
163
174
  }
164
175
 
@@ -168,7 +179,7 @@ public record ParentUpdate : UpdateOperationBase, IEquatable<UpdateOperationBase
168
179
  public required string ParentDependencyName { get; init; }
169
180
  public required NuGetVersion ParentNewVersion { get; init; }
170
181
 
171
- public override string GetReport() => $"Updated {DependencyName} to {NewVersion} indirectly via {ParentDependencyName}/{ParentNewVersion} in {string.Join(", ", UpdatedFiles)}";
182
+ protected override string GetReportText() => $"Updated {DependencyName} to {NewVersion} indirectly via {ParentDependencyName}/{ParentNewVersion}";
172
183
 
173
184
  bool IEquatable<UpdateOperationBase>.Equals(UpdateOperationBase? other)
174
185
  {
@@ -1,4 +1,3 @@
1
- using System.Collections.Immutable;
2
1
  using System.Text.Json;
3
2
  using System.Text.Json.Serialization;
4
3
 
@@ -10,7 +9,6 @@ using NuGetUpdater.Core.Discover;
10
9
  using NuGetUpdater.Core.Run.ApiModel;
11
10
  using NuGetUpdater.Core.Updater;
12
11
  using NuGetUpdater.Core.Updater.FileWriters;
13
- using NuGetUpdater.Core.Utilities;
14
12
 
15
13
  namespace NuGetUpdater.Core;
16
14
 
@@ -77,70 +75,23 @@ public class UpdaterWorker : IUpdaterWorker
77
75
  workspacePath = Path.GetFullPath(Path.Join(repoRootPath, workspacePath));
78
76
  }
79
77
 
80
- if (_experimentsManager.UseNewFileUpdater)
81
- {
82
- var worker = new FileWriterWorker(
83
- new DiscoveryWorker(_jobId, _experimentsManager, _logger),
84
- new MSBuildDependencySolver(new DirectoryInfo(repoRootPath), new FileInfo(workspacePath), _experimentsManager, _logger),
85
- new XmlFileWriter(_logger),
86
- _logger
87
- );
88
- var updateOperations = await worker.RunAsync(
89
- new DirectoryInfo(repoRootPath),
90
- new FileInfo(workspacePath),
91
- dependencyName,
92
- NuGetVersion.Parse(previousDependencyVersion),
93
- NuGetVersion.Parse(newDependencyVersion)
94
- );
95
- return new UpdateOperationResult()
96
- {
97
- UpdateOperations = updateOperations,
98
- };
99
- }
100
-
101
- if (!isTransitive)
102
- {
103
- await DotNetToolsJsonUpdater.UpdateDependencyAsync(repoRootPath, workspacePath, dependencyName, previousDependencyVersion, newDependencyVersion, _logger);
104
- await GlobalJsonUpdater.UpdateDependencyAsync(repoRootPath, workspacePath, dependencyName, previousDependencyVersion, newDependencyVersion, _logger);
105
- }
106
-
107
- UpdateOperationResult result;
108
- var extension = Path.GetExtension(workspacePath).ToLowerInvariant();
109
- switch (extension)
110
- {
111
- case ".sln":
112
- result = await RunForSolutionAsync(repoRootPath, workspacePath, dependencyName, previousDependencyVersion, newDependencyVersion, isTransitive);
113
- break;
114
- case ".proj":
115
- result = await RunForProjFileAsync(repoRootPath, workspacePath, dependencyName, previousDependencyVersion, newDependencyVersion, isTransitive);
116
- break;
117
- case ".csproj":
118
- case ".fsproj":
119
- case ".vbproj":
120
- result = await RunForProjectAsync(repoRootPath, workspacePath, dependencyName, previousDependencyVersion, newDependencyVersion, isTransitive);
121
- break;
122
- default:
123
- _logger.Info($"File extension [{extension}] is not supported.");
124
- result = new UpdateOperationResult()
125
- {
126
- UpdateOperations = [],
127
- };
128
- break;
129
- }
130
-
131
- result = result with { UpdateOperations = UpdateOperationBase.NormalizeUpdateOperationCollection(repoRootPath, result.UpdateOperations) };
132
-
133
- if (!_experimentsManager.NativeUpdater)
78
+ var worker = new FileWriterWorker(
79
+ new DiscoveryWorker(_jobId, _experimentsManager, _logger),
80
+ new MSBuildDependencySolver(new DirectoryInfo(repoRootPath), new FileInfo(workspacePath), _experimentsManager, _logger),
81
+ new XmlFileWriter(_logger),
82
+ _logger
83
+ );
84
+ var updateOperations = await worker.RunAsync(
85
+ new DirectoryInfo(repoRootPath),
86
+ new FileInfo(workspacePath),
87
+ dependencyName,
88
+ NuGetVersion.Parse(previousDependencyVersion),
89
+ NuGetVersion.Parse(newDependencyVersion)
90
+ );
91
+ return new UpdateOperationResult()
134
92
  {
135
- // native updater reports the changes elsewhere
136
- var updateReport = UpdateOperationBase.GenerateUpdateOperationReport(result.UpdateOperations);
137
- _logger.Info(updateReport);
138
- }
139
-
140
- _logger.Info("Update complete.");
141
-
142
- _processedProjectPaths.Clear();
143
- return result;
93
+ UpdateOperations = updateOperations,
94
+ };
144
95
  }
145
96
 
146
97
  internal static string Serialize(UpdateOperationResult result)
@@ -156,139 +107,4 @@ public class UpdaterWorker : IUpdaterWorker
156
107
  var resultJson = Serialize(result);
157
108
  await File.WriteAllTextAsync(resultOutputPath, resultJson);
158
109
  }
159
-
160
- private async Task<UpdateOperationResult> RunForSolutionAsync(
161
- string repoRootPath,
162
- string solutionPath,
163
- string dependencyName,
164
- string previousDependencyVersion,
165
- string newDependencyVersion,
166
- bool isTransitive)
167
- {
168
- _logger.Info($"Running for solution [{Path.GetRelativePath(repoRootPath, solutionPath)}]");
169
- var updateOperations = new List<UpdateOperationBase>();
170
- var projectPaths = MSBuildHelper.GetProjectPathsFromSolution(solutionPath);
171
- foreach (var projectPath in projectPaths)
172
- {
173
- var projectResult = await RunForProjectAsync(repoRootPath, projectPath, dependencyName, previousDependencyVersion, newDependencyVersion, isTransitive);
174
- updateOperations.AddRange(projectResult.UpdateOperations);
175
- }
176
-
177
- return new UpdateOperationResult()
178
- {
179
- UpdateOperations = updateOperations.ToImmutableArray(),
180
- };
181
- }
182
-
183
- private async Task<UpdateOperationResult> RunForProjFileAsync(
184
- string repoRootPath,
185
- string projFilePath,
186
- string dependencyName,
187
- string previousDependencyVersion,
188
- string newDependencyVersion,
189
- bool isTransitive)
190
- {
191
- _logger.Info($"Running for proj file [{Path.GetRelativePath(repoRootPath, projFilePath)}]");
192
- if (!File.Exists(projFilePath))
193
- {
194
- _logger.Info($"File [{projFilePath}] does not exist.");
195
- return new UpdateOperationResult()
196
- {
197
- UpdateOperations = [],
198
- };
199
- }
200
-
201
- var updateOperations = new List<UpdateOperationBase>();
202
- var projectFilePaths = MSBuildHelper.GetProjectPathsFromProject(projFilePath);
203
- foreach (var projectFullPath in projectFilePaths)
204
- {
205
- // If there is some MSBuild logic that needs to run to fully resolve the path skip the project
206
- if (File.Exists(projectFullPath))
207
- {
208
- var projectResult = await RunForProjectAsync(repoRootPath, projectFullPath, dependencyName, previousDependencyVersion, newDependencyVersion, isTransitive);
209
- updateOperations.AddRange(projectResult.UpdateOperations);
210
- }
211
- }
212
-
213
- return new UpdateOperationResult()
214
- {
215
- UpdateOperations = updateOperations.ToImmutableArray(),
216
- };
217
- }
218
-
219
- private async Task<UpdateOperationResult> RunForProjectAsync(
220
- string repoRootPath,
221
- string projectPath,
222
- string dependencyName,
223
- string previousDependencyVersion,
224
- string newDependencyVersion,
225
- bool isTransitive)
226
- {
227
- _logger.Info($"Running for project file [{Path.GetRelativePath(repoRootPath, projectPath)}]");
228
- if (!File.Exists(projectPath))
229
- {
230
- _logger.Info($"File [{projectPath}] does not exist.");
231
- return new UpdateOperationResult()
232
- {
233
- UpdateOperations = [],
234
- };
235
- }
236
-
237
- var updateOperations = new List<UpdateOperationBase>();
238
- var projectFilePaths = MSBuildHelper.GetProjectPathsFromProject(projectPath);
239
- foreach (var projectFullPath in projectFilePaths.Concat([projectPath]))
240
- {
241
- // If there is some MSBuild logic that needs to run to fully resolve the path skip the project
242
- if (File.Exists(projectFullPath))
243
- {
244
- var performedOperations = await RunUpdaterAsync(repoRootPath, projectFullPath, dependencyName, previousDependencyVersion, newDependencyVersion, isTransitive);
245
- updateOperations.AddRange(performedOperations);
246
- }
247
- }
248
-
249
- return new UpdateOperationResult()
250
- {
251
- UpdateOperations = updateOperations.ToImmutableArray(),
252
- };
253
- }
254
-
255
- private async Task<IEnumerable<UpdateOperationBase>> RunUpdaterAsync(
256
- string repoRootPath,
257
- string projectPath,
258
- string dependencyName,
259
- string previousDependencyVersion,
260
- string newDependencyVersion,
261
- bool isTransitive)
262
- {
263
- if (_processedProjectPaths.Contains(projectPath))
264
- {
265
- return [];
266
- }
267
-
268
- _processedProjectPaths.Add(projectPath);
269
-
270
- _logger.Info($"Updating project [{projectPath}]");
271
-
272
- var updateOperations = new List<UpdateOperationBase>();
273
- var additionalFiles = ProjectHelper.GetAllAdditionalFilesFromProject(projectPath, ProjectHelper.PathFormat.Full);
274
- var packagesConfigFullPath = additionalFiles.Where(p => Path.GetFileName(p).Equals(ProjectHelper.PackagesConfigFileName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
275
- if (packagesConfigFullPath is not null)
276
- {
277
- var packagesConfigOperations = await PackagesConfigUpdater.UpdateDependencyAsync(repoRootPath, projectPath, dependencyName, previousDependencyVersion, newDependencyVersion, packagesConfigFullPath, _logger);
278
- updateOperations.AddRange(packagesConfigOperations);
279
- }
280
-
281
- // Some repos use a mix of packages.config and PackageReference
282
- var packageReferenceOperations = await PackageReferenceUpdater.UpdateDependencyAsync(repoRootPath, projectPath, dependencyName, previousDependencyVersion, newDependencyVersion, isTransitive, _experimentsManager, _logger);
283
- updateOperations.AddRange(packageReferenceOperations);
284
-
285
- // Update lock file if exists
286
- var packagesLockFullPath = additionalFiles.Where(p => Path.GetFileName(p).Equals(ProjectHelper.PackagesLockJsonFileName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
287
- if (packagesLockFullPath is not null)
288
- {
289
- await LockFileUpdater.UpdateLockFileAsync(repoRootPath, projectPath, _experimentsManager, _logger);
290
- }
291
-
292
- return updateOperations;
293
- }
294
110
  }