dependabot-nuget 0.390.0 → 0.392.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.Core/Discover/SdkProjectDiscovery.cs +3 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Job.cs +0 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IHttpFetcher.cs +7 -7
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +0 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +14 -6
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs +100 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/MockNuGetPackage.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/DetailedPullRequestBodyGeneratorTests.cs +51 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/TestHttpFetcher.cs +4 -4
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/TestStringResponseHttpFetcher.cs +22 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +1 -2
- data/helpers/lib/NuGetUpdater/global.json +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d1c860537bd6a457769abe727cca7534d55c740e24b64aa310187f0740c68ad2
|
|
4
|
+
data.tar.gz: e21573e419953d0fec2d53f55663f02f5dba6d1d27de9b706ba4382cc4e42294
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1d3cea77956ca9291560f34c25537828c19a1f567eb13bfa4fbf4818b15543108734fa5910105c132492ec04b59468388b7bfa869534bf6416665f9cc108f65d
|
|
7
|
+
data.tar.gz: a9c89cbd91626974ae21dab5897d8c62d14efe9ca9f5af54bfe900b723b91d6b45f57048345df16672dfafb069309a33683a793e5c33b7ca795c749494996e7b
|
|
@@ -178,6 +178,9 @@ internal static class SdkProjectDiscovery
|
|
|
178
178
|
args.Add($"/p:InnerTargets=\"{string.Join(";", requiredTargets)}\"");
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
+
// only execute the desired targets on transitive project references
|
|
182
|
+
args.Add($"/p:ProjectReferenceBuildTargets=\"{string.Join(";", requiredTargets)}\"");
|
|
183
|
+
|
|
181
184
|
// inject various props and targets to help with discovery
|
|
182
185
|
var dependencyDiscoveryTargetingPacksPropsPath = MSBuildHelper.GetFileFromRuntimeDirectory("DependencyDiscoveryTargetingPacks.props");
|
|
183
186
|
var dependencyDiscoveryTargetsPath = MSBuildHelper.GetFileFromRuntimeDirectory("DependencyDiscovery.targets");
|
|
@@ -43,7 +43,6 @@ public sealed record Job
|
|
|
43
43
|
public bool RepoPrivate { get; init; } = false;
|
|
44
44
|
public CommitOptions? CommitMessageOptions { get; init; } = null;
|
|
45
45
|
public ImmutableArray<Dictionary<string, object>>? CredentialsMetadata { get; init; } = null;
|
|
46
|
-
public int MaxUpdaterRunTime { get; init; } = 0;
|
|
47
46
|
public Cooldown? Cooldown { get; init; } = null;
|
|
48
47
|
|
|
49
48
|
public ImmutableArray<string> GetRawDirectories()
|
data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IHttpFetcher.cs
CHANGED
|
@@ -11,18 +11,18 @@ internal static class IHttpFetcherExtensions
|
|
|
11
11
|
{
|
|
12
12
|
public static async Task<JsonElement?> GetJsonElementAsync(this IHttpFetcher fetcher, string url)
|
|
13
13
|
{
|
|
14
|
-
var jsonString = await fetcher.GetStringAsync(url);
|
|
15
|
-
if (jsonString is null)
|
|
16
|
-
{
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
14
|
try
|
|
21
15
|
{
|
|
16
|
+
var jsonString = await fetcher.GetStringAsync(url);
|
|
17
|
+
if (jsonString is null)
|
|
18
|
+
{
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
22
|
var json = JsonSerializer.Deserialize<JsonElement>(jsonString);
|
|
23
23
|
return json;
|
|
24
24
|
}
|
|
25
|
-
catch (
|
|
25
|
+
catch (Exception)
|
|
26
26
|
{
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
@@ -150,14 +150,22 @@ public class DiscoveryWorkerTestBase : TestBase
|
|
|
150
150
|
}).ToArray();
|
|
151
151
|
Assert.True(matchingDependencies.Length == 1, $"""
|
|
152
152
|
Unable to find 1 dependency matching; found {matchingDependencies.Length}:
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
IsTopLevel: {expectedDependency.IsTopLevel}
|
|
157
|
-
TargetFrameworks: {string.Join(", ", expectedDependency.TargetFrameworks ?? [])}
|
|
158
|
-
Found:{"\n\t"}{string.Join("\n\t", actualDependencies)}
|
|
153
|
+
{DependencyDisplayString(expectedDependency)}
|
|
154
|
+
Found:
|
|
155
|
+
{string.Join("\n ----\n", actualDependencies.Select(DependencyDisplayString))}
|
|
159
156
|
""");
|
|
160
157
|
}
|
|
158
|
+
|
|
159
|
+
static string DependencyDisplayString(Dependency d)
|
|
160
|
+
{
|
|
161
|
+
return $"""
|
|
162
|
+
Name: {d.Name}
|
|
163
|
+
Type: {d.Type}
|
|
164
|
+
Version: {d.Version}
|
|
165
|
+
IsTopLevel: {d.IsTopLevel}
|
|
166
|
+
TargetFrameworks: {string.Join(", ", d.TargetFrameworks ?? [])}
|
|
167
|
+
""";
|
|
168
|
+
}
|
|
161
169
|
}
|
|
162
170
|
|
|
163
171
|
protected static async Task<WorkspaceDiscoveryResult> RunDiscoveryAsync(TestFile[] files, Func<string, Task<WorkspaceDiscoveryResult>> action)
|
data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs
CHANGED
|
@@ -73,6 +73,7 @@ public partial class DiscoveryWorkerTests
|
|
|
73
73
|
[
|
|
74
74
|
MockNuGetPackage.CreateSimplePackage("Package.A", "1.2.3", "net8.0"),
|
|
75
75
|
MockNuGetPackage.CreateSimplePackage("Package.B", "4.5.6", "net8.0"),
|
|
76
|
+
MockNuGetPackage.WellKnownHostPackage("Microsoft.NETCore.App", "net8.0"),
|
|
76
77
|
],
|
|
77
78
|
workspacePath: "",
|
|
78
79
|
files: [
|
|
@@ -955,5 +956,104 @@ public partial class DiscoveryWorkerTests
|
|
|
955
956
|
}
|
|
956
957
|
);
|
|
957
958
|
}
|
|
959
|
+
|
|
960
|
+
[Fact]
|
|
961
|
+
public async Task RestoreDoesNotCallBuildOnTransitiveProjectReference()
|
|
962
|
+
{
|
|
963
|
+
// Ensure the `Build` target isn't invoked in transitive project references.
|
|
964
|
+
|
|
965
|
+
// To test this a custom target is added with `BeforeTargets="Build"` which writes a sentinel file to disk
|
|
966
|
+
// so we have to ensure that file doesn't get created.
|
|
967
|
+
using var tempDir = new TemporaryDirectory();
|
|
968
|
+
var sentinelFile1 = Path.Combine(tempDir.DirectoryPath, "sentinel1.txt");
|
|
969
|
+
var sentinelFile2 = Path.Combine(tempDir.DirectoryPath, "sentinel2.txt");
|
|
970
|
+
|
|
971
|
+
await TestDiscoveryAsync(
|
|
972
|
+
packages:
|
|
973
|
+
[
|
|
974
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.0", "net10.0"),
|
|
975
|
+
],
|
|
976
|
+
workspacePath: "src/client",
|
|
977
|
+
files: [
|
|
978
|
+
("Directory.Build.props", "<Project />"),
|
|
979
|
+
("Directory.Build.targets", "<Project />"),
|
|
980
|
+
("Directory.Packages.props", """
|
|
981
|
+
<Project>
|
|
982
|
+
<PropertyGroup>
|
|
983
|
+
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
|
|
984
|
+
</PropertyGroup>
|
|
985
|
+
</Project>
|
|
986
|
+
"""),
|
|
987
|
+
("src/client/client.csproj", $$"""
|
|
988
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
|
989
|
+
<PropertyGroup>
|
|
990
|
+
<TargetFramework>net10.0</TargetFramework>
|
|
991
|
+
</PropertyGroup>
|
|
992
|
+
<ItemGroup>
|
|
993
|
+
<ProjectReference Include="..\common\common.csproj" />
|
|
994
|
+
</ItemGroup>
|
|
995
|
+
<Target Name="BuildSentinel" BeforeTargets="Build">
|
|
996
|
+
<WriteLinesToFile File="{{sentinelFile1}}" Lines="Build target was called" Overwrite="true" />
|
|
997
|
+
</Target>
|
|
998
|
+
</Project>
|
|
999
|
+
"""),
|
|
1000
|
+
("src/common/common.csproj", $$"""
|
|
1001
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
|
1002
|
+
<PropertyGroup>
|
|
1003
|
+
<TargetFramework>net10.0</TargetFramework>
|
|
1004
|
+
</PropertyGroup>
|
|
1005
|
+
<ItemGroup>
|
|
1006
|
+
<PackageReference Include="Some.Package" Version="1.0.0" />
|
|
1007
|
+
</ItemGroup>
|
|
1008
|
+
<Target Name="BuildSentinel" BeforeTargets="Build">
|
|
1009
|
+
<WriteLinesToFile File="{{sentinelFile2}}" Lines="Build target was called" Overwrite="true" />
|
|
1010
|
+
</Target>
|
|
1011
|
+
</Project>
|
|
1012
|
+
"""),
|
|
1013
|
+
],
|
|
1014
|
+
expectedResult: new()
|
|
1015
|
+
{
|
|
1016
|
+
Path = "src/client",
|
|
1017
|
+
Projects = [
|
|
1018
|
+
new()
|
|
1019
|
+
{
|
|
1020
|
+
FilePath = "client.csproj",
|
|
1021
|
+
TargetFrameworks = ["net10.0"],
|
|
1022
|
+
Dependencies = [
|
|
1023
|
+
new("Some.Package", "1.0.0", DependencyType.Unknown, TargetFrameworks: ["net10.0"], IsTopLevel: false),
|
|
1024
|
+
],
|
|
1025
|
+
ReferencedProjectPaths = [
|
|
1026
|
+
"../common/common.csproj"
|
|
1027
|
+
],
|
|
1028
|
+
ImportedFiles = [
|
|
1029
|
+
"../../Directory.Build.props",
|
|
1030
|
+
"../../Directory.Build.targets",
|
|
1031
|
+
"../../Directory.Packages.props"
|
|
1032
|
+
],
|
|
1033
|
+
AdditionalFiles = [],
|
|
1034
|
+
},
|
|
1035
|
+
new()
|
|
1036
|
+
{
|
|
1037
|
+
FilePath = "../common/common.csproj",
|
|
1038
|
+
TargetFrameworks = ["net10.0"],
|
|
1039
|
+
Dependencies = [
|
|
1040
|
+
new("Some.Package", "1.0.0", DependencyType.PackageReference, TargetFrameworks: ["net10.0"], IsTopLevel: true),
|
|
1041
|
+
],
|
|
1042
|
+
ReferencedProjectPaths = [],
|
|
1043
|
+
ImportedFiles = [
|
|
1044
|
+
"../../Directory.Build.props",
|
|
1045
|
+
"../../Directory.Build.targets",
|
|
1046
|
+
"../../Directory.Packages.props"
|
|
1047
|
+
],
|
|
1048
|
+
AdditionalFiles = [],
|
|
1049
|
+
}
|
|
1050
|
+
],
|
|
1051
|
+
}
|
|
1052
|
+
);
|
|
1053
|
+
|
|
1054
|
+
// Verify that the Build target was not called (and BeforeTargets="Build") by checking that the sentinel file was not created
|
|
1055
|
+
Assert.False(File.Exists(sentinelFile1), "Build target should not have been called on primary project");
|
|
1056
|
+
Assert.False(File.Exists(sentinelFile2), "Build target should not have been called on referenced project");
|
|
1057
|
+
}
|
|
958
1058
|
}
|
|
959
1059
|
}
|
|
@@ -409,7 +409,7 @@ namespace NuGetUpdater.Core.Test
|
|
|
409
409
|
|
|
410
410
|
public static MockNuGetPackage WellKnownHostPackage(string packageName, string targetFramework, (string Path, byte[] Content)[]? files = null)
|
|
411
411
|
{
|
|
412
|
-
string key = $"{packageName}/{targetFramework}";
|
|
412
|
+
string key = $"{packageName}.Host/{targetFramework}";
|
|
413
413
|
if (!WellKnownPackages.ContainsKey(key))
|
|
414
414
|
{
|
|
415
415
|
// for the current SDK, the file `Microsoft.NETCoreSdk.BundledVersions.props` contains the version of the
|
|
@@ -438,7 +438,7 @@ namespace NuGetUpdater.Core.Test
|
|
|
438
438
|
}
|
|
439
439
|
|
|
440
440
|
string expectedVersion = matchingAppHostPack.Attribute("AppHostPackVersion")!.Value;
|
|
441
|
-
|
|
441
|
+
WellKnownPackages[key] = new(
|
|
442
442
|
$"{packageName}.Host.{expectedRid}",
|
|
443
443
|
expectedVersion,
|
|
444
444
|
Files: files
|
|
@@ -1088,6 +1088,56 @@ public class DetailedPullRequestBodyGeneratorTests
|
|
|
1088
1088
|
);
|
|
1089
1089
|
}
|
|
1090
1090
|
|
|
1091
|
+
[Fact]
|
|
1092
|
+
public async Task ExceptionDuringDetailFetchDoesNotAbortDetailsBuilding()
|
|
1093
|
+
{
|
|
1094
|
+
// arrange
|
|
1095
|
+
var throwingHttpFetcher = new TestHttpFetcher(_ => throw new HttpRequestException("this endpoint cannot be queried"));
|
|
1096
|
+
var prGenerator = new DetailedPullRequestBodyGenerator(throwingHttpFetcher);
|
|
1097
|
+
var job = new Job()
|
|
1098
|
+
{
|
|
1099
|
+
Source = new()
|
|
1100
|
+
{
|
|
1101
|
+
Provider = "github",
|
|
1102
|
+
Repo = "test/repo"
|
|
1103
|
+
},
|
|
1104
|
+
};
|
|
1105
|
+
var updateOperationsPerformed = ImmutableArray.Create<UpdateOperationBase>(
|
|
1106
|
+
new DirectUpdate()
|
|
1107
|
+
{
|
|
1108
|
+
DependencyName = "Some.Dependency",
|
|
1109
|
+
OldVersion = NuGetVersion.Parse("1.0.0"),
|
|
1110
|
+
NewVersion = NuGetVersion.Parse("2.0.0"),
|
|
1111
|
+
UpdatedFiles = []
|
|
1112
|
+
}
|
|
1113
|
+
);
|
|
1114
|
+
var updatedDependencies = ImmutableArray.Create(
|
|
1115
|
+
new ReportedDependency()
|
|
1116
|
+
{
|
|
1117
|
+
Name = "Some.Dependency",
|
|
1118
|
+
PreviousVersion = "1.0.0",
|
|
1119
|
+
Version = "2.0.0",
|
|
1120
|
+
Requirements = [
|
|
1121
|
+
new ReportedRequirement()
|
|
1122
|
+
{
|
|
1123
|
+
File = "",
|
|
1124
|
+
Requirement = "2.0.0",
|
|
1125
|
+
Source = new()
|
|
1126
|
+
{
|
|
1127
|
+
SourceUrl = "https://github.com/Some.Owner/Some.Dependency",
|
|
1128
|
+
},
|
|
1129
|
+
}
|
|
1130
|
+
]
|
|
1131
|
+
}
|
|
1132
|
+
);
|
|
1133
|
+
|
|
1134
|
+
// act
|
|
1135
|
+
var prBody = await prGenerator.GeneratePullRequestBodyTextAsync(job, updateOperationsPerformed, updatedDependencies);
|
|
1136
|
+
|
|
1137
|
+
// assert
|
|
1138
|
+
Assert.Contains("No release notes found for this version range.", prBody);
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1091
1141
|
private static async Task TestAsync(
|
|
1092
1142
|
ImmutableArray<UpdateOperationBase> updateOperationsPerformed,
|
|
1093
1143
|
ImmutableArray<ReportedDependency> updatedDependencies,
|
|
@@ -1108,7 +1158,7 @@ public class DetailedPullRequestBodyGeneratorTests
|
|
|
1108
1158
|
|
|
1109
1159
|
// act
|
|
1110
1160
|
var responses = httpResponses.ToDictionary(x => x.Url, x => x.Body);
|
|
1111
|
-
var httpFetcher = new
|
|
1161
|
+
var httpFetcher = new TestStringResponseHttpFetcher(responses);
|
|
1112
1162
|
var generator = new DetailedPullRequestBodyGenerator(httpFetcher);
|
|
1113
1163
|
var actualBody = await generator.GeneratePullRequestBodyTextAsync(job, updateOperationsPerformed, updatedDependencies);
|
|
1114
1164
|
|
data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/TestHttpFetcher.cs
CHANGED
|
@@ -4,11 +4,11 @@ namespace NuGetUpdater.Core.Test.Run.PullRequestBodyGenerator;
|
|
|
4
4
|
|
|
5
5
|
internal class TestHttpFetcher : IHttpFetcher
|
|
6
6
|
{
|
|
7
|
-
private readonly
|
|
7
|
+
private readonly Func<string, string?> _responseHandler;
|
|
8
8
|
|
|
9
|
-
public TestHttpFetcher(
|
|
9
|
+
public TestHttpFetcher(Func<string, string?> responseHandler)
|
|
10
10
|
{
|
|
11
|
-
|
|
11
|
+
_responseHandler = responseHandler;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
public void Dispose()
|
|
@@ -17,7 +17,7 @@ internal class TestHttpFetcher : IHttpFetcher
|
|
|
17
17
|
|
|
18
18
|
public Task<string?> GetStringAsync(string url)
|
|
19
19
|
{
|
|
20
|
-
|
|
20
|
+
var response = _responseHandler(url);
|
|
21
21
|
return Task.FromResult(response);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
namespace NuGetUpdater.Core.Test.Run.PullRequestBodyGenerator;
|
|
2
|
+
|
|
3
|
+
internal class TestStringResponseHttpFetcher : TestHttpFetcher
|
|
4
|
+
{
|
|
5
|
+
public TestStringResponseHttpFetcher(Dictionary<string, string> responses)
|
|
6
|
+
: base(BuildResponseGenerator(responses))
|
|
7
|
+
{
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
private static Func<string, string?> BuildResponseGenerator(Dictionary<string, string> responses)
|
|
11
|
+
{
|
|
12
|
+
return new Func<string, string?>(url =>
|
|
13
|
+
{
|
|
14
|
+
if (responses.TryGetValue(url, out var response))
|
|
15
|
+
{
|
|
16
|
+
return response;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return null;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dependabot-nuget
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.392.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dependabot
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.
|
|
18
|
+
version: 0.392.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.
|
|
25
|
+
version: 0.392.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: debug
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -343,6 +343,7 @@ files:
|
|
|
343
343
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/DetailedPullRequestBodyGeneratorTests.cs
|
|
344
344
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/IPackageDetailFinderTests.cs
|
|
345
345
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/TestHttpFetcher.cs
|
|
346
|
+
- helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/TestStringResponseHttpFetcher.cs
|
|
346
347
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestTextTests.cs
|
|
347
348
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs
|
|
348
349
|
- helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs
|
|
@@ -581,7 +582,7 @@ licenses:
|
|
|
581
582
|
- MIT
|
|
582
583
|
metadata:
|
|
583
584
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
|
584
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
|
585
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.392.0
|
|
585
586
|
rdoc_options: []
|
|
586
587
|
require_paths:
|
|
587
588
|
- lib
|