refactor
This commit is contained in:
@@ -9,7 +9,7 @@ using SharpIDE.Application.Features.SolutionDiscovery.VsPersistence;
|
|||||||
|
|
||||||
namespace SharpIDE.Application.Features.Nuget;
|
namespace SharpIDE.Application.Features.Nuget;
|
||||||
|
|
||||||
public record InstalledNugetPackageInfo(List<ProjectPackageReference> ProjectPackageReferences);
|
public record InstalledNugetPackageInfo(bool IsTransitive, List<ProjectPackageReference> ProjectPackageReferences);
|
||||||
public record IdePackageResult(string PackageId, List<IdePackageFromSourceResult> PackageFromSources, InstalledNugetPackageInfo? InstalledNugetPackageInfo);
|
public record IdePackageResult(string PackageId, List<IdePackageFromSourceResult> PackageFromSources, InstalledNugetPackageInfo? InstalledNugetPackageInfo);
|
||||||
public record struct IdePackageFromSourceResult(IPackageSearchMetadata PackageSearchMetadata, PackageSource Source);
|
public record struct IdePackageFromSourceResult(IPackageSearchMetadata PackageSearchMetadata, PackageSource Source);
|
||||||
public class NugetClientService
|
public class NugetClientService
|
||||||
@@ -118,7 +118,8 @@ public class NugetClientService
|
|||||||
var packagesResult = new List<IdePackageResult>();
|
var packagesResult = new List<IdePackageResult>();
|
||||||
foreach (var installedPackage in installedPackages)
|
foreach (var installedPackage in installedPackages)
|
||||||
{
|
{
|
||||||
var installedNugetPackageInfo = new InstalledNugetPackageInfo(installedPackage.ProjectPackageReferences);
|
var isTransitive = installedPackage.ProjectPackageReferences.Any(p => p.IsTransitive);
|
||||||
|
var installedNugetPackageInfo = new InstalledNugetPackageInfo(isTransitive, installedPackage.ProjectPackageReferences);
|
||||||
var idePackageResult = new IdePackageResult(installedPackage.Name, [], installedNugetPackageInfo);
|
var idePackageResult = new IdePackageResult(installedPackage.Name, [], installedNugetPackageInfo);
|
||||||
|
|
||||||
foreach (var source in packageSources)
|
foreach (var source in packageSources)
|
||||||
|
|||||||
@@ -52,8 +52,7 @@ public partial class PackageEntry : MarginContainer
|
|||||||
if (PackageResult is null) return;
|
if (PackageResult is null) return;
|
||||||
_packageNameLabel.Text = PackageResult.PackageId;
|
_packageNameLabel.Text = PackageResult.PackageId;
|
||||||
var installedPackagedInfo = PackageResult.InstalledNugetPackageInfo;
|
var installedPackagedInfo = PackageResult.InstalledNugetPackageInfo;
|
||||||
var isTransitive = installedPackagedInfo?.ProjectPackageReferences.Any(p => p.IsTransitive) ?? false;
|
if (installedPackagedInfo?.IsTransitive is true && installedPackagedInfo.ProjectPackageReferences.Any(p => p.DependentPackages?.Count is not 0) is true)
|
||||||
if (isTransitive && installedPackagedInfo?.ProjectPackageReferences.Any(p => p.DependentPackages?.Count is not 0) is true)
|
|
||||||
{
|
{
|
||||||
var transitiveOriginsGroupedByVersion = installedPackagedInfo.ProjectPackageReferences.SelectMany(s => s.DependentPackages ?? [])
|
var transitiveOriginsGroupedByVersion = installedPackagedInfo.ProjectPackageReferences.SelectMany(s => s.DependentPackages ?? [])
|
||||||
.GroupBy(t => t.RequestedVersion)
|
.GroupBy(t => t.RequestedVersion)
|
||||||
@@ -104,8 +103,7 @@ public partial class PackageEntry : MarginContainer
|
|||||||
.Select(p => p.InstalledVersion.ToNormalizedString())
|
.Select(p => p.InstalledVersion.ToNormalizedString())
|
||||||
.Distinct()
|
.Distinct()
|
||||||
.ToList();
|
.ToList();
|
||||||
var isTransitive = packageInfo.ProjectPackageReferences.Any(p => p.IsTransitive);
|
var text = packageInfo.IsTransitive ? $"({string.Join(", ", versions)})" : string.Join(", ", versions);
|
||||||
var text = isTransitive ? $"({string.Join(", ", versions)})" : string.Join(", ", versions);
|
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user