Skip to content

Commit c537d55

Browse files
committed
Add some more tests for RID related types
1 parent 7916e11 commit c537d55

File tree

7 files changed

+1380
-18
lines changed

7 files changed

+1380
-18
lines changed

src/Microsoft.DotNet.Build.Tasks.Packaging/src/GenerateRuntimeGraph.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,12 @@ private void AddInferredRuntimeIdentifiers(ICollection<RuntimeGroup> runtimeGrou
309309
continue;
310310
}
311311

312+
if (!rid.HasVersion())
313+
{
314+
closestGroup = candidate;
315+
continue;
316+
}
317+
312318
foreach(var version in candidate.Versions)
313319
{
314320
if (closestVersion == null ||
@@ -344,7 +350,7 @@ private void AddInferredRuntimeIdentifiers(ICollection<RuntimeGroup> runtimeGrou
344350
candidateRuntimeGroups.Add(runtimeGroup);
345351

346352
}
347-
else if (closestVersion != rid.Version)
353+
else if (rid.HasVersion() && closestVersion != rid.Version)
348354
{
349355
closestGroup.Versions.Add(rid.Version);
350356
}

src/Microsoft.DotNet.Build.Tasks.Packaging/src/RuntimeVersion.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,12 @@ public int CompareTo(object obj)
5050

5151
public int CompareTo(RuntimeVersion other)
5252
{
53-
int versionResult = version.CompareTo(other.version);
53+
if (other == null)
54+
{
55+
return 1;
56+
}
57+
58+
int versionResult = version.CompareTo(other?.version);
5459

5560
if (versionResult == 0)
5661
{
@@ -73,7 +78,8 @@ public int CompareTo(RuntimeVersion other)
7378
public bool Equals(RuntimeVersion other)
7479
{
7580
return object.ReferenceEquals(other, this) ||
76-
versionString.Equals(other.versionString, StringComparison.Ordinal);
81+
(other != null &&
82+
versionString.Equals(other.versionString, StringComparison.Ordinal));
7783
}
7884

7985
public override bool Equals(object obj)

0 commit comments

Comments
 (0)