display source for installed plugins
All checks were successful
Build / Compute Version (push) Successful in 5s
Build / Build Nuget package (CringeBootstrap.Abstractions) (push) Successful in 1m41s
Build / Build Nuget package (NuGet) (push) Successful in 2m0s
Build / Build Nuget package (SharedCringe) (push) Successful in 2m42s
Build / Build Launcher (push) Successful in 3m57s
Build / Build Nuget package (CringePlugins) (push) Successful in 7m55s
All checks were successful
Build / Compute Version (push) Successful in 5s
Build / Build Nuget package (CringeBootstrap.Abstractions) (push) Successful in 1m41s
Build / Build Nuget package (NuGet) (push) Successful in 2m0s
Build / Build Nuget package (SharedCringe) (push) Successful in 2m42s
Build / Build Launcher (push) Successful in 3m57s
Build / Build Nuget package (CringePlugins) (push) Successful in 7m55s
This commit is contained in:
@@ -4,7 +4,7 @@ using NuGet.Versioning;
|
||||
|
||||
namespace CringePlugins.Loader;
|
||||
|
||||
public record PluginMetadata(string Name, NuGetVersion Version)
|
||||
public record PluginMetadata(string Name, NuGetVersion Version, string Source)
|
||||
{
|
||||
public static PluginMetadata ReadFromEntrypoint(string entrypointPath)
|
||||
{
|
||||
@@ -20,6 +20,6 @@ public record PluginMetadata(string Name, NuGetVersion Version)
|
||||
out var version))
|
||||
version = new(0, 0, 0, 0);
|
||||
|
||||
return new(name, version);
|
||||
return new(name, version, "Local");
|
||||
}
|
||||
}
|
@@ -60,7 +60,7 @@ public class PluginsLifetime : ILoadingStage
|
||||
|
||||
progress.Report("Loading plugins");
|
||||
|
||||
await LoadPlugins(cachedPackages, sourceMapping);
|
||||
await LoadPlugins(cachedPackages, sourceMapping, packagesConfig);
|
||||
|
||||
progress.Report("Registering plugins");
|
||||
|
||||
@@ -85,7 +85,8 @@ public class PluginsLifetime : ILoadingStage
|
||||
}
|
||||
}
|
||||
|
||||
private async Task LoadPlugins(IReadOnlySet<CachedPackage> packages, PackageSourceMapping sourceMapping)
|
||||
private async Task LoadPlugins(IReadOnlySet<CachedPackage> packages, PackageSourceMapping sourceMapping,
|
||||
PackagesConfig packagesConfig)
|
||||
{
|
||||
var plugins = _plugins.ToBuilder();
|
||||
|
||||
@@ -108,7 +109,10 @@ public class PluginsLifetime : ILoadingStage
|
||||
await using (var stream = File.Create(Path.Join(dir, $"{package.Package.Id}.deps.json")))
|
||||
await manifestBuilder.WriteDependencyManifestAsync(stream, package.Entry, _runtimeFramework);
|
||||
|
||||
LoadComponent(plugins, Path.Join(dir, $"{package.Package.Id}.dll"), new(package.Package.Id, package.Package.Version));
|
||||
var client = await sourceMapping.GetClientAsync(package.Package.Id);
|
||||
var sourceName = packagesConfig.Sources.First(b => b.Url == client.ToString()).Name;
|
||||
LoadComponent(plugins, Path.Join(dir, $"{package.Package.Id}.dll"),
|
||||
new(package.Package.Id, package.Package.Version, sourceName));
|
||||
}
|
||||
|
||||
_plugins = plugins.ToImmutable();
|
||||
|
@@ -83,11 +83,11 @@ internal class PluginListComponent : IRenderComponent
|
||||
// TODO support for opening plugin loader plugin config (reflection call to a specific method)
|
||||
if (BeginTabItem("Installed Plugins"))
|
||||
{
|
||||
if (BeginTable("InstalledTable", 2, ImGuiTableFlags.ScrollY))
|
||||
if (BeginTable("InstalledTable", 3, ImGuiTableFlags.ScrollY | ImGuiTableFlags.Resizable))
|
||||
{
|
||||
//todo: include plugin source (local, zznty nuget, etc) in menu?
|
||||
TableSetupColumn("Id");
|
||||
TableSetupColumn("Version");
|
||||
TableSetupColumn("Id", ImGuiTableColumnFlags.None, .5f);
|
||||
TableSetupColumn("Version", ImGuiTableColumnFlags.None, .25f);
|
||||
TableSetupColumn("Source", ImGuiTableColumnFlags.None, .25f);
|
||||
TableHeadersRow();
|
||||
|
||||
foreach (var plugin in _plugins)
|
||||
@@ -101,6 +101,8 @@ internal class PluginListComponent : IRenderComponent
|
||||
EndDisabled();
|
||||
TableNextColumn();
|
||||
Text(plugin.Metadata.Version.ToString());
|
||||
TableNextColumn();
|
||||
Text(plugin.Metadata.Source);
|
||||
}
|
||||
|
||||
EndTable();
|
||||
|
Reference in New Issue
Block a user