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