dependabot-nuget 0.279.0 → 0.280.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.
- checksums.yaml +4 -4
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Analyze.cs +7 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Discover.cs +6 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/AnalyzeWorker.cs +8 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DiscoveryWorker.cs +7 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/ErrorType.cs +1 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/NativeResult.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobErrorBase.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/UpdateNotPossible.cs +6 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs +7 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/UpdateNotPossibleException.cs +11 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackagesConfigUpdater.cs +2 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/SdkPackageUpdater.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +18 -3
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +11 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Analyze/AnalyzeWorkerTestBase.cs +5 -9
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +5 -8
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs +2 -7
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs +79 -1
- data/lib/dependabot/nuget/native_helpers.rb +5 -3
- metadata +12 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2728d8749a316ac4ecbd46826beffaefc51e5101c1154d0fdef5ad756158c256
|
4
|
+
data.tar.gz: 3ec34208b76ed22dbef3ae0e49511e77f85d73aea1b980180292b5225e26367a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4cf2906e79a866fb5c4d89807e893d6486f1fae08b9b951da9a049fbd546cc59d522d6b8ace80fe0ee59353eb93224b648370b404bf69ff845d89fafd70894ba
|
7
|
+
data.tar.gz: '05801823dee91eba1e490ee4fef1d44a2e83f632c7823c5ae6bd9cd3955d085c8c6c5e015023c4a6a0e34ed453e2e3d956c9399f955d608fd87381ef2ff620d7'
|
@@ -1,8 +1,10 @@
|
|
1
1
|
using System.Text;
|
2
|
+
using System.Text.Json;
|
2
3
|
using System.Xml.Linq;
|
3
4
|
|
4
5
|
using NuGetUpdater.Core;
|
5
6
|
using NuGetUpdater.Core.Analyze;
|
7
|
+
using NuGetUpdater.Core.Discover;
|
6
8
|
using NuGetUpdater.Core.Test;
|
7
9
|
using NuGetUpdater.Core.Test.Analyze;
|
8
10
|
using NuGetUpdater.Core.Test.Update;
|
@@ -334,6 +336,11 @@ public partial class EntryPointTests
|
|
334
336
|
Console.SetOut(originalOut);
|
335
337
|
Console.SetError(originalErr);
|
336
338
|
}
|
339
|
+
|
340
|
+
var resultPath = Path.Join(path, AnalyzeWorker.AnalysisDirectoryName, $"{dependencyName}.json");
|
341
|
+
var resultJson = await File.ReadAllTextAsync(resultPath);
|
342
|
+
var resultObject = JsonSerializer.Deserialize<AnalysisResult>(resultJson, DiscoveryWorker.SerializerOptions);
|
343
|
+
return resultObject!;
|
337
344
|
});
|
338
345
|
|
339
346
|
ValidateAnalysisResult(expectedResult, actualResult);
|
@@ -1,4 +1,5 @@
|
|
1
1
|
using System.Text;
|
2
|
+
using System.Text.Json;
|
2
3
|
|
3
4
|
using NuGetUpdater.Core;
|
4
5
|
using NuGetUpdater.Core.Discover;
|
@@ -390,6 +391,11 @@ public partial class EntryPointTests
|
|
390
391
|
Console.SetOut(originalOut);
|
391
392
|
Console.SetError(originalErr);
|
392
393
|
}
|
394
|
+
|
395
|
+
var resultPath = Path.Join(path, DiscoveryWorker.DiscoveryResultFileName);
|
396
|
+
var resultJson = await File.ReadAllTextAsync(resultPath);
|
397
|
+
var resultObject = JsonSerializer.Deserialize<WorkspaceDiscoveryResult>(resultJson, DiscoveryWorker.SerializerOptions);
|
398
|
+
return resultObject!;
|
393
399
|
});
|
394
400
|
|
395
401
|
ValidateWorkspaceResult(expectedResult, actualResult);
|
@@ -30,6 +30,13 @@ public partial class AnalyzeWorker
|
|
30
30
|
}
|
31
31
|
|
32
32
|
public async Task RunAsync(string repoRoot, string discoveryPath, string dependencyPath, string analysisDirectory)
|
33
|
+
{
|
34
|
+
var analysisResult = await RunWithErrorHandlingAsync(repoRoot, discoveryPath, dependencyPath);
|
35
|
+
var dependencyInfo = await DeserializeJsonFileAsync<DependencyInfo>(dependencyPath, nameof(DependencyInfo));
|
36
|
+
await WriteResultsAsync(analysisDirectory, dependencyInfo.Name, analysisResult, _logger);
|
37
|
+
}
|
38
|
+
|
39
|
+
internal async Task<AnalysisResult> RunWithErrorHandlingAsync(string repoRoot, string discoveryPath, string dependencyPath)
|
33
40
|
{
|
34
41
|
AnalysisResult analysisResult;
|
35
42
|
var discovery = await DeserializeJsonFileAsync<WorkspaceDiscoveryResult>(discoveryPath, nameof(WorkspaceDiscoveryResult));
|
@@ -54,7 +61,7 @@ public partial class AnalyzeWorker
|
|
54
61
|
};
|
55
62
|
}
|
56
63
|
|
57
|
-
|
64
|
+
return analysisResult;
|
58
65
|
}
|
59
66
|
|
60
67
|
public async Task<AnalysisResult> RunAsync(string repoRoot, WorkspaceDiscoveryResult discovery, DependencyInfo dependencyInfo)
|
@@ -31,6 +31,12 @@ public partial class DiscoveryWorker
|
|
31
31
|
}
|
32
32
|
|
33
33
|
public async Task RunAsync(string repoRootPath, string workspacePath, string outputPath)
|
34
|
+
{
|
35
|
+
var result = await RunWithErrorHandlingAsync(repoRootPath, workspacePath);
|
36
|
+
await WriteResultsAsync(repoRootPath, outputPath, result);
|
37
|
+
}
|
38
|
+
|
39
|
+
internal async Task<WorkspaceDiscoveryResult> RunWithErrorHandlingAsync(string repoRootPath, string workspacePath)
|
34
40
|
{
|
35
41
|
WorkspaceDiscoveryResult result;
|
36
42
|
try
|
@@ -49,7 +55,7 @@ public partial class DiscoveryWorker
|
|
49
55
|
};
|
50
56
|
}
|
51
57
|
|
52
|
-
|
58
|
+
return result;
|
53
59
|
}
|
54
60
|
|
55
61
|
internal async Task<WorkspaceDiscoveryResult> RunAsync(string repoRootPath, string workspacePath)
|
@@ -139,6 +139,7 @@ internal static class PackagesConfigUpdater
|
|
139
139
|
|
140
140
|
if (exitCodeAgain != 0)
|
141
141
|
{
|
142
|
+
MSBuildHelper.ThrowOnMissingPackages(restoreOutput);
|
142
143
|
throw new Exception($"Unable to restore.\nOutput:\n${restoreOutput}\n");
|
143
144
|
}
|
144
145
|
|
@@ -147,6 +148,7 @@ internal static class PackagesConfigUpdater
|
|
147
148
|
|
148
149
|
MSBuildHelper.ThrowOnUnauthenticatedFeed(fullOutput);
|
149
150
|
MSBuildHelper.ThrowOnMissingFile(fullOutput);
|
151
|
+
MSBuildHelper.ThrowOnMissingPackages(fullOutput);
|
150
152
|
throw new Exception(fullOutput);
|
151
153
|
}
|
152
154
|
}
|
@@ -350,7 +350,7 @@ internal static class SdkPackageUpdater
|
|
350
350
|
var specificResolvedDependency = resolvedDependencies.Where(d => d.Name.Equals(dependencyName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
|
351
351
|
if (specificResolvedDependency is null)
|
352
352
|
{
|
353
|
-
logger.Log($" Unable resolve requested dependency for {dependencyName} in {projectFile.Path}.");
|
353
|
+
logger.Log($" Unable to resolve requested dependency for {dependencyName} in {projectFile.Path}.");
|
354
354
|
continue;
|
355
355
|
}
|
356
356
|
|
@@ -24,6 +24,16 @@ public class UpdaterWorker
|
|
24
24
|
}
|
25
25
|
|
26
26
|
public async Task RunAsync(string repoRootPath, string workspacePath, string dependencyName, string previousDependencyVersion, string newDependencyVersion, bool isTransitive, string? resultOutputPath = null)
|
27
|
+
{
|
28
|
+
var result = await RunWithErrorHandlingAsync(repoRootPath, workspacePath, dependencyName, previousDependencyVersion, newDependencyVersion, isTransitive);
|
29
|
+
if (resultOutputPath is { })
|
30
|
+
{
|
31
|
+
await WriteResultFile(result, resultOutputPath, _logger);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
// this is a convenient method for tests
|
36
|
+
internal async Task<UpdateOperationResult> RunWithErrorHandlingAsync(string repoRootPath, string workspacePath, string dependencyName, string previousDependencyVersion, string newDependencyVersion, bool isTransitive)
|
27
37
|
{
|
28
38
|
UpdateOperationResult result = new(); // assumed to be ok until proven otherwise
|
29
39
|
try
|
@@ -52,11 +62,16 @@ public class UpdaterWorker
|
|
52
62
|
ErrorDetails = ex.FilePath,
|
53
63
|
};
|
54
64
|
}
|
55
|
-
|
56
|
-
if (resultOutputPath is { })
|
65
|
+
catch (UpdateNotPossibleException ex)
|
57
66
|
{
|
58
|
-
|
67
|
+
result = new()
|
68
|
+
{
|
69
|
+
ErrorType = ErrorType.UpdateNotPossible,
|
70
|
+
ErrorDetails = ex.Dependencies,
|
71
|
+
};
|
59
72
|
}
|
73
|
+
|
74
|
+
return result;
|
60
75
|
}
|
61
76
|
|
62
77
|
public async Task<UpdateOperationResult> RunAsync(string repoRootPath, string workspacePath, string dependencyName, string previousDependencyVersion, string newDependencyVersion, bool isTransitive)
|
@@ -833,6 +833,17 @@ internal static partial class MSBuildHelper
|
|
833
833
|
}
|
834
834
|
}
|
835
835
|
|
836
|
+
internal static void ThrowOnMissingPackages(string output)
|
837
|
+
{
|
838
|
+
var missingPackagesPattern = new Regex(@"Package '(?<PackageName>[^'].*)' is not found on source");
|
839
|
+
var matchCollection = missingPackagesPattern.Matches(output);
|
840
|
+
var missingPackages = matchCollection.Select(m => m.Groups["PackageName"].Value).Distinct().ToArray();
|
841
|
+
if (missingPackages.Length > 0)
|
842
|
+
{
|
843
|
+
throw new UpdateNotPossibleException(missingPackages);
|
844
|
+
}
|
845
|
+
}
|
846
|
+
|
836
847
|
internal static bool TryGetGlobalJsonPath(string repoRootPath, string workspacePath, [NotNullWhen(returnValue: true)] out string? globalJsonPath)
|
837
848
|
{
|
838
849
|
globalJsonPath = PathHelper.GetFileInDirectoryOrParent(workspacePath, repoRootPath, "global.json", caseSensitive: false);
|
@@ -35,10 +35,10 @@ public class AnalyzeWorkerTestBase
|
|
35
35
|
|
36
36
|
var discoveryPath = Path.GetFullPath(DiscoveryWorker.DiscoveryResultFileName, directoryPath);
|
37
37
|
var dependencyPath = Path.GetFullPath(relativeDependencyPath, directoryPath);
|
38
|
-
var analysisPath = Path.GetFullPath(AnalyzeWorker.AnalysisDirectoryName, directoryPath);
|
39
38
|
|
40
39
|
var worker = new AnalyzeWorker(new Logger(verbose: true));
|
41
|
-
await worker.
|
40
|
+
var result = await worker.RunWithErrorHandlingAsync(directoryPath, discoveryPath, dependencyPath);
|
41
|
+
return result;
|
42
42
|
});
|
43
43
|
|
44
44
|
ValidateAnalysisResult(expectedResult, actualResult);
|
@@ -78,17 +78,13 @@ public class AnalyzeWorkerTestBase
|
|
78
78
|
}
|
79
79
|
}
|
80
80
|
|
81
|
-
protected static async Task<AnalysisResult> RunAnalyzerAsync(string dependencyName, TestFile[] files, Func<string, Task
|
81
|
+
protected static async Task<AnalysisResult> RunAnalyzerAsync(string dependencyName, TestFile[] files, Func<string, Task<AnalysisResult>> action)
|
82
82
|
{
|
83
83
|
// write initial files
|
84
84
|
using var temporaryDirectory = await TemporaryDirectory.CreateWithContentsAsync(files);
|
85
85
|
|
86
86
|
// run discovery
|
87
|
-
await action(temporaryDirectory.DirectoryPath);
|
88
|
-
|
89
|
-
// gather results
|
90
|
-
var resultPath = Path.Join(temporaryDirectory.DirectoryPath, AnalyzeWorker.AnalysisDirectoryName, $"{dependencyName}.json");
|
91
|
-
var resultJson = await File.ReadAllTextAsync(resultPath);
|
92
|
-
return JsonSerializer.Deserialize<AnalysisResult>(resultJson, DiscoveryWorker.SerializerOptions)!;
|
87
|
+
var result = await action(temporaryDirectory.DirectoryPath);
|
88
|
+
return result;
|
93
89
|
}
|
94
90
|
}
|
@@ -25,7 +25,8 @@ public class DiscoveryWorkerTestBase
|
|
25
25
|
await UpdateWorkerTestBase.MockNuGetPackagesInDirectory(packages, directoryPath);
|
26
26
|
|
27
27
|
var worker = new DiscoveryWorker(new Logger(verbose: true));
|
28
|
-
await worker.
|
28
|
+
var result = await worker.RunWithErrorHandlingAsync(directoryPath, workspacePath);
|
29
|
+
return result;
|
29
30
|
});
|
30
31
|
|
31
32
|
ValidateWorkspaceResult(expectedResult, actualResult);
|
@@ -108,18 +109,14 @@ public class DiscoveryWorkerTestBase
|
|
108
109
|
}
|
109
110
|
}
|
110
111
|
|
111
|
-
protected static async Task<WorkspaceDiscoveryResult> RunDiscoveryAsync(TestFile[] files, Func<string, Task
|
112
|
+
protected static async Task<WorkspaceDiscoveryResult> RunDiscoveryAsync(TestFile[] files, Func<string, Task<WorkspaceDiscoveryResult>> action)
|
112
113
|
{
|
113
114
|
// write initial files
|
114
115
|
using var temporaryDirectory = await TemporaryDirectory.CreateWithContentsAsync(files);
|
115
116
|
|
116
117
|
// run discovery
|
117
|
-
await action(temporaryDirectory.DirectoryPath);
|
118
|
-
|
119
|
-
// gather results
|
120
|
-
var resultPath = Path.Join(temporaryDirectory.DirectoryPath, DiscoveryWorker.DiscoveryResultFileName);
|
121
|
-
var resultJson = await File.ReadAllTextAsync(resultPath);
|
122
|
-
return JsonSerializer.Deserialize<WorkspaceDiscoveryResult>(resultJson, DiscoveryWorker.SerializerOptions)!;
|
118
|
+
var result = await action(temporaryDirectory.DirectoryPath);
|
119
|
+
return result;
|
123
120
|
}
|
124
121
|
|
125
122
|
internal class PropertyComparer : IEqualityComparer<Property>
|
@@ -1,5 +1,3 @@
|
|
1
|
-
using System.Text.Json;
|
2
|
-
|
3
1
|
using NuGetUpdater.Core.Updater;
|
4
2
|
|
5
3
|
using Xunit;
|
@@ -137,10 +135,7 @@ public abstract class UpdateWorkerTestBase : TestBase
|
|
137
135
|
// run update
|
138
136
|
var worker = new UpdaterWorker(new Logger(verbose: true));
|
139
137
|
var projectPath = placeFilesInSrc ? $"src/{projectFilePath}" : projectFilePath;
|
140
|
-
var
|
141
|
-
await worker.RunAsync(temporaryDirectory, projectPath, dependencyName, oldVersion, newVersion, isTransitive, updateResultFile);
|
142
|
-
var actualResultContents = await File.ReadAllTextAsync(updateResultFile);
|
143
|
-
var actualResult = JsonSerializer.Deserialize<UpdateOperationResult>(actualResultContents, UpdaterWorker.SerializerOptions);
|
138
|
+
var actualResult = await worker.RunWithErrorHandlingAsync(temporaryDirectory, projectPath, dependencyName, oldVersion, newVersion, isTransitive);
|
144
139
|
if (expectedResult is { })
|
145
140
|
{
|
146
141
|
ValidateUpdateOperationResult(expectedResult, actualResult!);
|
@@ -159,7 +154,7 @@ public abstract class UpdateWorkerTestBase : TestBase
|
|
159
154
|
protected static void ValidateUpdateOperationResult(UpdateOperationResult expectedResult, UpdateOperationResult actualResult)
|
160
155
|
{
|
161
156
|
Assert.Equal(expectedResult.ErrorType, actualResult.ErrorType);
|
162
|
-
Assert.
|
157
|
+
Assert.Equivalent(expectedResult.ErrorDetails, actualResult.ErrorDetails);
|
163
158
|
}
|
164
159
|
|
165
160
|
protected static Task TestNoChangeforSolution(
|
data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs
CHANGED
@@ -2106,7 +2106,7 @@ public partial class UpdateWorkerTests
|
|
2106
2106
|
var resultContents = await File.ReadAllTextAsync(resultOutputPath);
|
2107
2107
|
var result = JsonSerializer.Deserialize<UpdateOperationResult>(resultContents, UpdaterWorker.SerializerOptions)!;
|
2108
2108
|
Assert.Equal(ErrorType.MissingFile, result.ErrorType);
|
2109
|
-
Assert.Equal(Path.Combine(temporaryDirectory.DirectoryPath, "this.file.does.not.exist.targets"), result.ErrorDetails);
|
2109
|
+
Assert.Equal(Path.Combine(temporaryDirectory.DirectoryPath, "this.file.does.not.exist.targets"), result.ErrorDetails.ToString());
|
2110
2110
|
}
|
2111
2111
|
|
2112
2112
|
[Fact]
|
@@ -2190,6 +2190,84 @@ public partial class UpdateWorkerTests
|
|
2190
2190
|
);
|
2191
2191
|
}
|
2192
2192
|
|
2193
|
+
[Fact]
|
2194
|
+
public async Task MissingDependencyErrorIsReported()
|
2195
|
+
{
|
2196
|
+
// trying to update Some.Package from 1.0.1 to 1.0.2, but another package isn't available; update fails
|
2197
|
+
await TestUpdateForProject("Some.Package", "1.0.1", "1.0.2",
|
2198
|
+
packages:
|
2199
|
+
[
|
2200
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.1", "net45"),
|
2201
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.2", "net45"),
|
2202
|
+
|
2203
|
+
// the package `Unrelated.Package/1.0.0` is missing and will cause the update to fail
|
2204
|
+
],
|
2205
|
+
// existing
|
2206
|
+
projectContents: """
|
2207
|
+
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
2208
|
+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
2209
|
+
<PropertyGroup>
|
2210
|
+
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
2211
|
+
</PropertyGroup>
|
2212
|
+
<ItemGroup>
|
2213
|
+
<None Include="packages.config" />
|
2214
|
+
</ItemGroup>
|
2215
|
+
<ItemGroup>
|
2216
|
+
<Reference Include="Some.Package, Version=1.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed">
|
2217
|
+
<HintPath>packages\Some.Package.1.0.1\lib\net45\Some.Package.dll</HintPath>
|
2218
|
+
<Private>True</Private>
|
2219
|
+
</Reference>
|
2220
|
+
<Reference Include="Unrelated.Package, Version=1.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed">
|
2221
|
+
<HintPath>packages\Unrelated.Package.1.0.0\lib\net45\Unrelated.Package.dll</HintPath>
|
2222
|
+
<Private>True</Private>
|
2223
|
+
</Reference>
|
2224
|
+
</ItemGroup>
|
2225
|
+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
2226
|
+
</Project>
|
2227
|
+
""",
|
2228
|
+
packagesConfigContents: """
|
2229
|
+
<packages>
|
2230
|
+
<package id="Some.Package" version="1.0.1" targetFramework="net45" />
|
2231
|
+
<package id="Unrelated.Package" version="1.0.0" targetFramework="net45" />
|
2232
|
+
</packages>
|
2233
|
+
""",
|
2234
|
+
// expected
|
2235
|
+
expectedProjectContents: """
|
2236
|
+
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
2237
|
+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
2238
|
+
<PropertyGroup>
|
2239
|
+
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
2240
|
+
</PropertyGroup>
|
2241
|
+
<ItemGroup>
|
2242
|
+
<None Include="packages.config" />
|
2243
|
+
</ItemGroup>
|
2244
|
+
<ItemGroup>
|
2245
|
+
<Reference Include="Some.Package, Version=1.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed">
|
2246
|
+
<HintPath>packages\Some.Package.1.0.1\lib\net45\Some.Package.dll</HintPath>
|
2247
|
+
<Private>True</Private>
|
2248
|
+
</Reference>
|
2249
|
+
<Reference Include="Unrelated.Package, Version=1.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed">
|
2250
|
+
<HintPath>packages\Unrelated.Package.1.0.0\lib\net45\Unrelated.Package.dll</HintPath>
|
2251
|
+
<Private>True</Private>
|
2252
|
+
</Reference>
|
2253
|
+
</ItemGroup>
|
2254
|
+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
2255
|
+
</Project>
|
2256
|
+
""",
|
2257
|
+
expectedPackagesConfigContents: """
|
2258
|
+
<packages>
|
2259
|
+
<package id="Some.Package" version="1.0.1" targetFramework="net45" />
|
2260
|
+
<package id="Unrelated.Package" version="1.0.0" targetFramework="net45" />
|
2261
|
+
</packages>
|
2262
|
+
""",
|
2263
|
+
expectedResult: new()
|
2264
|
+
{
|
2265
|
+
ErrorType = ErrorType.UpdateNotPossible,
|
2266
|
+
ErrorDetails = new[] { "Unrelated.Package.1.0.0" },
|
2267
|
+
}
|
2268
|
+
);
|
2269
|
+
}
|
2270
|
+
|
2193
2271
|
protected static Task TestUpdateForProject(
|
2194
2272
|
string dependencyName,
|
2195
2273
|
string oldVersion,
|
@@ -263,14 +263,16 @@ module Dependabot
|
|
263
263
|
sig { params(json: T::Hash[String, T.untyped]).void }
|
264
264
|
def self.ensure_no_errors(json)
|
265
265
|
error_type = T.let(json.fetch("ErrorType", nil), T.nilable(String))
|
266
|
-
error_details =
|
266
|
+
error_details = json.fetch("ErrorDetails", nil)
|
267
267
|
case error_type
|
268
268
|
when "None", nil
|
269
269
|
# no issue
|
270
270
|
when "AuthenticationFailure"
|
271
|
-
raise PrivateSourceAuthenticationFailure, error_details
|
271
|
+
raise PrivateSourceAuthenticationFailure, T.let(error_details, T.nilable(String))
|
272
272
|
when "MissingFile"
|
273
|
-
raise DependencyFileNotFound, error_details
|
273
|
+
raise DependencyFileNotFound, T.let(error_details, T.nilable(String))
|
274
|
+
when "UpdateNotPossible"
|
275
|
+
raise UpdateNotPossible, T.let(error_details, T::Array[String])
|
274
276
|
else
|
275
277
|
raise "Unexpected error type from native tool: #{error_type}: #{error_details}"
|
276
278
|
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.
|
4
|
+
version: 0.280.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dependabot
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-10-
|
11
|
+
date: 2024-10-10 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.
|
19
|
+
version: 0.280.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.
|
26
|
+
version: 0.280.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rubyzip
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -176,14 +176,14 @@ dependencies:
|
|
176
176
|
requirements:
|
177
177
|
- - "~>"
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
version: 0.8.
|
179
|
+
version: 0.8.5
|
180
180
|
type: :development
|
181
181
|
prerelease: false
|
182
182
|
version_requirements: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
184
|
- - "~>"
|
185
185
|
- !ruby/object:Gem::Version
|
186
|
-
version: 0.8.
|
186
|
+
version: 0.8.5
|
187
187
|
- !ruby/object:Gem::Dependency
|
188
188
|
name: simplecov
|
189
189
|
requirement: !ruby/object:Gem::Requirement
|
@@ -410,11 +410,13 @@ files:
|
|
410
410
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/ReportedRequirement.cs
|
411
411
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/RequirementSource.cs
|
412
412
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/UnknownError.cs
|
413
|
+
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/UpdateNotPossible.cs
|
413
414
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/UpdatedDependencyList.cs
|
414
415
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/HttpApiHandler.cs
|
415
416
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/IApiHandler.cs
|
416
417
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunResult.cs
|
417
418
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs
|
419
|
+
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/UpdateNotPossibleException.cs
|
418
420
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectManager.cs
|
419
421
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectResolver.cs
|
420
422
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/ConfigurationFile.cs
|
@@ -491,8 +493,8 @@ licenses:
|
|
491
493
|
- MIT
|
492
494
|
metadata:
|
493
495
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
494
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
495
|
-
post_install_message:
|
496
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.280.0
|
497
|
+
post_install_message:
|
496
498
|
rdoc_options: []
|
497
499
|
require_paths:
|
498
500
|
- lib
|
@@ -508,7 +510,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
508
510
|
version: 3.1.0
|
509
511
|
requirements: []
|
510
512
|
rubygems_version: 3.5.9
|
511
|
-
signing_key:
|
513
|
+
signing_key:
|
512
514
|
specification_version: 4
|
513
515
|
summary: Provides Dependabot support for .NET (NuGet)
|
514
516
|
test_files: []
|