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.
- checksums.yaml +4 -4
- data/helpers/lib/NuGetUpdater/Directory.Packages.props +22 -22
- data/helpers/lib/NuGetUpdater/DotNetPackageCorrelation.Cli/Program.cs +21 -7
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/AnalyzeCommand.cs +19 -11
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/CloneCommand.cs +19 -9
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/DiscoverCommand.cs +21 -14
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/FrameworkCheckCommand.cs +8 -5
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/RunCommand.cs +29 -16
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/UpdateCommand.cs +20 -19
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Program.cs +2 -1
- 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/Files/GlobalJsonBuildFile.cs +5 -13
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/PrivateSourceTimedOutException.cs +12 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobErrorBase.cs +4 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceTimedOut.cs +10 -0
- 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 +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/GroupUpdateAllVersionsHandler.cs +4 -4
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandler.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandler.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandler.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/FileWriterWorker.cs +85 -35
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/XmlFileWriter.cs +27 -8
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +1 -856
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdateOperationBase.cs +18 -7
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +16 -200
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +21 -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.GlobalJson.cs +0 -2
- 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 -269
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/SdkProjectDiscoveryTests.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/GlobalJsonBuildFileTests.cs +0 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/EndToEndTests.cs +131 -131
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/HttpApiHandlerTests.cs +1 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/JobErrorBaseTests.cs +7 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MessageReportTests.cs +11 -0
- 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 +24 -24
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +14 -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 +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests_MiscellaneousTests.cs +45 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests.cs +111 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackageReferenceUpdaterTests.cs +1 -159
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +26 -660
- data/helpers/lib/NuGetUpdater/global.json +1 -1
- metadata +18 -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
@@ -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
|
-
|
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
|
-
|
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}
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
}
|