display installed version of package
This commit is contained in:
@@ -9,8 +9,8 @@ using SharpIDE.Application.Features.SolutionDiscovery.VsPersistence;
|
||||
|
||||
namespace SharpIDE.Application.Features.Nuget;
|
||||
|
||||
//public record IdePackageResult(IPackageSearchMetadata PackageSearchMetadata, List<PackageSource> PackageSources);
|
||||
public record IdePackageResult(string PackageId, List<IdePackageFromSourceResult> PackageFromSources, bool? IsTransitive);
|
||||
public record InstalledNugetPackageInfo(bool IsTransitive, NuGetVersion Version);
|
||||
public record IdePackageResult(string PackageId, List<IdePackageFromSourceResult> PackageFromSources, InstalledNugetPackageInfo? InstalledNugetPackageInfo);
|
||||
public record struct IdePackageFromSourceResult(IPackageSearchMetadata PackageSearchMetadata, PackageSource Source);
|
||||
public class NugetClientService
|
||||
{
|
||||
@@ -119,9 +119,12 @@ public class NugetClientService
|
||||
foreach (var installedPackage in installedPackages)
|
||||
{
|
||||
var isTransitive = installedPackage.IsTopLevel is false;
|
||||
var idePackageResult = new IdePackageResult(installedPackage.Name, [], isTransitive);
|
||||
var nugetVersionString = installedPackage.ResolvedVersion ?? installedPackage.RequestedVersion;
|
||||
var nugetVersion = NuGetVersion.Parse(nugetVersionString);
|
||||
|
||||
var installedNugetPackageInfo = new InstalledNugetPackageInfo(isTransitive, nugetVersion);
|
||||
var idePackageResult = new IdePackageResult(installedPackage.Name, [], installedNugetPackageInfo);
|
||||
|
||||
var packageIdentity = new PackageIdentity(installedPackage.Name, nugetVersion);
|
||||
|
||||
foreach (var source in packageSources)
|
||||
|
||||
@@ -54,7 +54,7 @@ public partial class NugetPanel : Control
|
||||
{
|
||||
foreach (var scene in scenes)
|
||||
{
|
||||
var container = scene.PackageResult.IsTransitive!.Value ? _implicitlyInstalledPackagesItemList : _installedPackagesVboxContainer;
|
||||
var container = scene.PackageResult.InstalledNugetPackageInfo!.IsTransitive ? _implicitlyInstalledPackagesItemList : _installedPackagesVboxContainer;
|
||||
container.AddChild(scene);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -8,7 +8,8 @@ public partial class PackageEntry : MarginContainer
|
||||
{
|
||||
private Button _button;
|
||||
private Label _packageNameLabel = null!;
|
||||
private Label _currentVersionLabel = null!;
|
||||
private Label _installedVersionLabel = null!;
|
||||
private Label _implicitlyInstalledVersionLabel = null!;
|
||||
private Label _latestVersionLabel = null!;
|
||||
private HBoxContainer _sourceNamesContainer = null!;
|
||||
private TextureRect _packageIconTextureRect = null!;
|
||||
@@ -37,7 +38,8 @@ public partial class PackageEntry : MarginContainer
|
||||
{
|
||||
_button = GetNode<Button>("Button");
|
||||
_packageNameLabel = GetNode<Label>("%PackageNameLabel");
|
||||
_currentVersionLabel = GetNode<Label>("%CurrentVersionLabel");
|
||||
_installedVersionLabel = GetNode<Label>("%InstalledVersionLabel");
|
||||
_implicitlyInstalledVersionLabel = GetNode<Label>("%ImplicitlyInstalledVersionLabel");
|
||||
_latestVersionLabel = GetNode<Label>("%LatestVersionLabel");
|
||||
_sourceNamesContainer = GetNode<HBoxContainer>("%SourceNamesHBoxContainer");
|
||||
_packageIconTextureRect = GetNode<TextureRect>("%PackageIconTextureRect");
|
||||
@@ -49,7 +51,7 @@ public partial class PackageEntry : MarginContainer
|
||||
{
|
||||
if (PackageResult is null) return;
|
||||
_packageNameLabel.Text = PackageResult.PackageId;
|
||||
_currentVersionLabel.Text = string.Empty;
|
||||
_installedVersionLabel.Text = PackageResult.InstalledNugetPackageInfo?.Version.ToNormalizedString();
|
||||
var highestVersionPackageFromSource = PackageResult.PackageFromSources
|
||||
.MaxBy(p => p.PackageSearchMetadata.Identity.Version);
|
||||
_latestVersionLabel.Text = highestVersionPackageFromSource.PackageSearchMetadata.Identity.Version.ToNormalizedString();
|
||||
|
||||
@@ -60,12 +60,17 @@ theme_override_colors/font_color = Color(0.83137256, 0.83137256, 0.83137256, 1)
|
||||
theme_override_font_sizes/font_size = 16
|
||||
text = "OpenTelemetry.Exporter.OpenTelemetryProtocol"
|
||||
|
||||
[node name="CurrentVersionLabel" type="Label" parent="MarginContainer/HBoxContainer"]
|
||||
[node name="InstalledVersionLabel" type="Label" parent="MarginContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.6706895, 0.6706895, 0.6706895, 1)
|
||||
text = "1.12.0"
|
||||
|
||||
[node name="ImplicitlyInstalledVersionLabel" type="Label" parent="MarginContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.6706895, 0.6706895, 0.6706895, 1)
|
||||
|
||||
[node name="SourceNamesHBoxContainer" type="HBoxContainer" parent="MarginContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
Reference in New Issue
Block a user