Show more dependency warnings
- Show version conflicts - Fixed the formatting of version ranges - Fixed conflicts found in the cli
This commit is contained in:
parent
82f3b22308
commit
b343d121a3
5 changed files with 141 additions and 71 deletions
|
@ -5,6 +5,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Extensions.ProjectModel.Utilities;
|
||||
using NuGet.Versioning;
|
||||
|
||||
namespace Microsoft.Extensions.ProjectModel.Graph
|
||||
|
@ -85,66 +86,7 @@ namespace Microsoft.Extensions.ProjectModel.Graph
|
|||
name = $"fx/{name}";
|
||||
}
|
||||
|
||||
return $"{name} {RenderVersion(arg.VersionRange)}";
|
||||
}
|
||||
|
||||
private string RenderVersion(VersionRange range)
|
||||
{
|
||||
if (range == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (range.MinVersion == range.MaxVersion &&
|
||||
(range.Float == null || range.Float.FloatBehavior == NuGetVersionFloatBehavior.None))
|
||||
{
|
||||
return range.MinVersion.ToNormalizedString();
|
||||
}
|
||||
var sb = new StringBuilder();
|
||||
sb.Append(">= ");
|
||||
switch (range?.Float?.FloatBehavior)
|
||||
{
|
||||
case null:
|
||||
case NuGetVersionFloatBehavior.None:
|
||||
sb.Append(range.MinVersion.ToNormalizedString());
|
||||
break;
|
||||
case NuGetVersionFloatBehavior.Prerelease:
|
||||
// Work around nuget bug: https://github.com/NuGet/Home/issues/1598
|
||||
// sb.AppendFormat("{0}-*", range.MinVersion);
|
||||
sb.Append($"{range.MinVersion.Version.Major}.{range.MinVersion.Version.Minor}.{range.MinVersion.Version.Build}");
|
||||
if (string.IsNullOrEmpty(range.MinVersion.Release) ||
|
||||
string.Equals("-", range.MinVersion.Release))
|
||||
{
|
||||
sb.Append($"-*");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append($"-{range.MinVersion.Release}*");
|
||||
}
|
||||
break;
|
||||
case NuGetVersionFloatBehavior.Revision:
|
||||
sb.Append($"{range.MinVersion.Version.Major}.{range.MinVersion.Version.Minor}.{range.MinVersion.Version.Build}.*");
|
||||
break;
|
||||
case NuGetVersionFloatBehavior.Patch:
|
||||
sb.Append($"{range.MinVersion.Version.Major}.{range.MinVersion.Version.Minor}.*");
|
||||
break;
|
||||
case NuGetVersionFloatBehavior.Minor:
|
||||
sb.AppendFormat($"{range.MinVersion.Version.Major}.*");
|
||||
break;
|
||||
case NuGetVersionFloatBehavior.Major:
|
||||
sb.AppendFormat("*");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (range.MaxVersion != null)
|
||||
{
|
||||
sb.Append(range.IsMaxInclusive ? " <= " : " < ");
|
||||
sb.Append(range.MaxVersion);
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
return $"{name} {VersionUtility.RenderVersion(arg.VersionRange)}";
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue