dependabot-nuget 0.322.0 → 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.
- checksums.yaml +4 -4
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Analyze.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Discover.cs +10 -23
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Run.cs +9 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Update.cs +15 -232
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs +1 -154
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/ExperimentsManager.cs +3 -12
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/AzurePackageDetailFinder.cs +30 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/DetailedPullRequestBodyGenerator.cs +237 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/GitHubPackageDetailFinder.cs +101 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/GitLabPackageDetailFinder.cs +107 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/HttpFetcher.cs +32 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IHttpFetcher.cs +30 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IPackageDetailFinder.cs +47 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IPullRequestBodyGenerator.cs +11 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/SimplePullRequestBodyGenerator.cs +15 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestTextGenerator.cs +7 -3
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs +3 -525
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/CreateSecurityUpdatePullRequestHandler.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/GroupUpdateAllVersionsHandler.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandler.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandler.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandler.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/FileWriterWorker.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/XmlFileWriter.cs +10 -3
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +1 -856
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +16 -200
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +6 -556
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Analyze/AnalyzeWorkerTests.cs +9 -73
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Clone/CloneWorkerTests.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/DependencySolver/MSBuildDependencySolverTests.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +1 -20
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs +3 -62
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs +13 -563
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +20 -267
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/SdkProjectDiscoveryTests.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/EndToEndTests.cs +131 -131
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MiscellaneousTests.cs +0 -203
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/DetailedPullRequestBodyGeneratorTests.cs +871 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/IPackageDetailFinderTests.cs +28 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/TestHttpFetcher.cs +23 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestTextTests.cs +3 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +6 -12
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/CreateSecurityUpdatePullRequestHandlerTests.cs +6 -6
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/GroupUpdateAllVersionsHandlerTests.cs +18 -18
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandlerTests.cs +15 -15
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandlerTests.cs +21 -21
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandlerTests.cs +15 -15
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/UpdateHandlersTestsBase.cs +1 -8
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests.cs +85 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackageReferenceUpdaterTests.cs +1 -159
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +10 -660
- metadata +16 -10
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunResult.cs +0 -13
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestMessageTests.cs +0 -296
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs +0 -3592
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdatePermittedAndMessageTests.cs +0 -457
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DirsProj.cs +0 -378
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterHelperTests.cs +0 -175
@@ -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
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
)
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
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
|
-
|
136
|
-
|
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
|
}
|