dependabot-nuget 0.361.2 → 0.362.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/Updater/FileWriters/XmlFileWriter.cs +55 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests.cs +46 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests_CreateUpdatedVersionRangeTests.cs +13 -0
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d0ffb6a9bd24802888ecd885336ebc5b54e10b351dd9af39b37ac76ba3cde4ca
|
|
4
|
+
data.tar.gz: b623440d284b905846bfde41dd41f8b189964cbb048769c5d0d1926a3541e322
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: db7e141cd27b415270816c892fdc7cb78de228701a861ab1b7d4e2eae5581fb0325ae1fa7149587e7f14666d8e424d09586080f0b95cc655f1ec408d140314b0
|
|
7
|
+
data.tar.gz: 4c97e20a7ef7ee48aa2d2701bc11dae853f2c5a513d1f9c4c45590cac77cce963f6a8e0170bafd6bfed74669b2ba58db820984384512f38a50111fcaf0a40955
|
|
@@ -611,7 +611,61 @@ public class XmlFileWriter : IFileWriter
|
|
|
611
611
|
// e.g., "[2.0.0, )" => "2.0.0"
|
|
612
612
|
if (newRange.MaxVersion is null)
|
|
613
613
|
{
|
|
614
|
-
|
|
614
|
+
var requiredVersionString = requiredVersion.ToString();
|
|
615
|
+
var isWildcardVersion = existingRange.OriginalString?.Contains('*') == true;
|
|
616
|
+
if (isWildcardVersion)
|
|
617
|
+
{
|
|
618
|
+
var oldRangeParts = existingRange.OriginalString!.Split('.');
|
|
619
|
+
var newRangeParts = requiredVersion.ToFullString().Split('.');
|
|
620
|
+
var rebuiltParts = new List<string>();
|
|
621
|
+
for (int i = 0; i < oldRangeParts.Length; i++)
|
|
622
|
+
{
|
|
623
|
+
if (oldRangeParts[i].Contains('*'))
|
|
624
|
+
{
|
|
625
|
+
var dashIndex = oldRangeParts[i].IndexOf('-');
|
|
626
|
+
var starIndex = oldRangeParts[i].IndexOf('*');
|
|
627
|
+
if (dashIndex >= 0 && dashIndex < starIndex)
|
|
628
|
+
{
|
|
629
|
+
// prerelease wildcard (e.g., "3-*")
|
|
630
|
+
if (i < newRangeParts.Length)
|
|
631
|
+
{
|
|
632
|
+
var newDashIndex = newRangeParts[i].IndexOf('-');
|
|
633
|
+
if (newDashIndex >= 0)
|
|
634
|
+
{
|
|
635
|
+
var beforeDash = newRangeParts[i][..newDashIndex];
|
|
636
|
+
var fromDash = oldRangeParts[i][dashIndex..];
|
|
637
|
+
rebuiltParts.Add(beforeDash + fromDash);
|
|
638
|
+
rebuiltParts.AddRange(oldRangeParts.Skip(i + 1));
|
|
639
|
+
}
|
|
640
|
+
else
|
|
641
|
+
{
|
|
642
|
+
// new version is stable, drop prerelease wildcard
|
|
643
|
+
rebuiltParts.Add(newRangeParts[i]);
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
else
|
|
647
|
+
{
|
|
648
|
+
rebuiltParts.Add("0");
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
else
|
|
652
|
+
{
|
|
653
|
+
// version wildcard (e.g., "*", "*-*", "*-preview*")
|
|
654
|
+
rebuiltParts.AddRange(oldRangeParts.Skip(i));
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
break;
|
|
658
|
+
}
|
|
659
|
+
else
|
|
660
|
+
{
|
|
661
|
+
rebuiltParts.Add(i < newRangeParts.Length ? newRangeParts[i] : "0");
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
requiredVersionString = string.Join(".", rebuiltParts);
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
return requiredVersionString;
|
|
615
669
|
}
|
|
616
670
|
|
|
617
671
|
return newRange.ToString();
|
data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests.cs
CHANGED
|
@@ -927,6 +927,52 @@ public class FileWriterWorkerTests : TestBase
|
|
|
927
927
|
);
|
|
928
928
|
}
|
|
929
929
|
|
|
930
|
+
[Fact]
|
|
931
|
+
public async Task EndToEnd_WildcardVersionShapeIsRetained()
|
|
932
|
+
{
|
|
933
|
+
await TestAsync(
|
|
934
|
+
dependencyName: "Some.Dependency",
|
|
935
|
+
oldDependencyVersion: "1.3.4",
|
|
936
|
+
newDependencyVersion: "2.5.6",
|
|
937
|
+
files: [
|
|
938
|
+
("src/project.csproj", """
|
|
939
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
|
940
|
+
<PropertyGroup>
|
|
941
|
+
<TargetFramework>net9.0</TargetFramework>
|
|
942
|
+
</PropertyGroup>
|
|
943
|
+
<ItemGroup>
|
|
944
|
+
<PackageReference Include="Some.Dependency" Version="1.*" />
|
|
945
|
+
</ItemGroup>
|
|
946
|
+
</Project>
|
|
947
|
+
"""),
|
|
948
|
+
("Directory.Build.props", "<Project />"),
|
|
949
|
+
("Directory.Build.targets", "<Project />"),
|
|
950
|
+
],
|
|
951
|
+
packages: [
|
|
952
|
+
MockNuGetPackage.CreateSimplePackage("Some.Dependency", "1.3.4", "net9.0"),
|
|
953
|
+
MockNuGetPackage.CreateSimplePackage("Some.Dependency", "2.5.6", "net9.0"),
|
|
954
|
+
],
|
|
955
|
+
discoveryWorker: null, // use real worker
|
|
956
|
+
dependencySolver: null, // use real worker
|
|
957
|
+
fileWriter: null, // use real worker
|
|
958
|
+
expectedFiles: [
|
|
959
|
+
("src/project.csproj", """
|
|
960
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
|
961
|
+
<PropertyGroup>
|
|
962
|
+
<TargetFramework>net9.0</TargetFramework>
|
|
963
|
+
</PropertyGroup>
|
|
964
|
+
<ItemGroup>
|
|
965
|
+
<PackageReference Include="Some.Dependency" Version="2.*" />
|
|
966
|
+
</ItemGroup>
|
|
967
|
+
</Project>
|
|
968
|
+
"""),
|
|
969
|
+
],
|
|
970
|
+
expectedOperations: [
|
|
971
|
+
new DirectUpdate() { DependencyName = "Some.Dependency", NewVersion = NuGetVersion.Parse("2.5.6"), UpdatedFiles = ["/src/project.csproj"] }
|
|
972
|
+
]
|
|
973
|
+
);
|
|
974
|
+
}
|
|
975
|
+
|
|
930
976
|
private static async Task TestAsync(
|
|
931
977
|
string dependencyName,
|
|
932
978
|
string oldDependencyVersion,
|
data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests.cs
CHANGED
|
@@ -361,7 +361,7 @@ public class XmlFileWriterTests : FileWriterTestsBase
|
|
|
361
361
|
<Project Sdk="Microsoft.NET.Sdk">
|
|
362
362
|
<ItemGroup>
|
|
363
363
|
<PackageReference Include="Ignored.Dependency" Version="7.0.0" />
|
|
364
|
-
<PackageReference Include="Some.Dependency" Version="2
|
|
364
|
+
<PackageReference Include="Some.Dependency" Version="2.*" />
|
|
365
365
|
<PackageReference Include="Some.Other.Dependency" Version="8.0.0" />
|
|
366
366
|
</ItemGroup>
|
|
367
367
|
</Project>
|
|
@@ -12,11 +12,24 @@ public class XmlFileWriterTests_CreateUpdatedVersionRangeTests
|
|
|
12
12
|
[InlineData("[1.0.0]", "1.0.0", "2.0.0", "[2.0.0]")] // single exact version
|
|
13
13
|
[InlineData("[1.0.0, 3.0.0)", "1.0.0", "2.0.0", "[2.0.0, 3.0.0)")] // narrowing of range
|
|
14
14
|
[InlineData("[1.0.0, 2.0.0)", "1.0.0", "2.0.0", "2.0.0")] // narrowing of range to simple version string
|
|
15
|
+
[InlineData("*", "1.0.1", "2.0.0", "*")] // wildcard is retained at major level
|
|
16
|
+
[InlineData("1.*", "1.0.1", "2.0.0", "2.*")] // wildcard is retained at minor level
|
|
17
|
+
[InlineData("1.0.*", "1.0.1", "2.0.0", "2.0.*")] // wildcard is retained at patch level
|
|
18
|
+
[InlineData("1.0.0.*", "1.0.1.0", "2.0.0", "2.0.0.*")] // wildcard is retained at revision level
|
|
19
|
+
[InlineData("1.0.0.*", "1.0.1", "2.0", "2.0.0.*")] // wildcard is retained at revision level with a shorter updated version
|
|
20
|
+
[InlineData("10.*-*", "10.0-beta1", "11.0-beta2", "11.*-*")] // wildcard with prerelease
|
|
21
|
+
[InlineData("10.*-preview*", "10.0-preview1", "11.0-preview4", "11.*-preview*")] // wildcard with specific prerelease
|
|
22
|
+
[InlineData("10.0.0-preview.*", "10.0.0-preview.1", "11.0.0-preview.2", "11.0.0-preview.*")] // wildcard in prerelease
|
|
23
|
+
[InlineData("1.2.3-*", "1.2.3-beta", "2.0.0-beta", "2.0.0-*")] // wildcard only in prerelease
|
|
24
|
+
[InlineData("1.2.3-*", "1.2.3-beta", "2.0.0", "2.0.0")] // wildcard in prerelease superseded by stable
|
|
15
25
|
public void CreateUpdatedVersionRange(string existingRangeString, string existingVersionString, string newVersionString, string expectedNewRangeString)
|
|
16
26
|
{
|
|
17
27
|
var existingRange = VersionRange.Parse(existingRangeString);
|
|
18
28
|
var existingVersion = NuGetVersion.Parse(existingVersionString);
|
|
19
29
|
var newVersion = NuGetVersion.Parse(newVersionString);
|
|
30
|
+
var newRange = VersionRange.Parse(expectedNewRangeString);
|
|
31
|
+
|
|
32
|
+
Assert.True(newRange.Satisfies(newVersion));
|
|
20
33
|
|
|
21
34
|
var actualNewRangeString = XmlFileWriter.CreateUpdatedVersionRangeString(existingRange, existingVersion, newVersion);
|
|
22
35
|
|
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.362.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.362.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.362.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: debug
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -553,7 +553,7 @@ licenses:
|
|
|
553
553
|
- MIT
|
|
554
554
|
metadata:
|
|
555
555
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
|
556
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
|
556
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.362.0
|
|
557
557
|
rdoc_options: []
|
|
558
558
|
require_paths:
|
|
559
559
|
- lib
|