From 74ea78cab1cde091edb1c1ad398638c8341e926c Mon Sep 17 00:00:00 2001 From: goat <16760685+goaaats@users.noreply.github.com> Date: Fri, 2 Oct 2020 16:20:48 +0200 Subject: [PATCH] feat: implement IsTestingExclusive --- Dalamud/Plugin/PluginDefinition.cs | 5 +++++ Dalamud/Plugin/PluginInstallerWindow.cs | 10 ++++++++-- Dalamud/Plugin/PluginRepository.cs | 4 ++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Dalamud/Plugin/PluginDefinition.cs b/Dalamud/Plugin/PluginDefinition.cs index 74737e097..8d876ab06 100644 --- a/Dalamud/Plugin/PluginDefinition.cs +++ b/Dalamud/Plugin/PluginDefinition.cs @@ -33,6 +33,11 @@ namespace Dalamud.Plugin /// public string TestingAssemblyVersion { get; set; } + /// + /// Defines if the plugin is only available for testing. + /// + public bool IsTestingExclusive { get; set; } + /// /// A description of the plugins functions. /// diff --git a/Dalamud/Plugin/PluginInstallerWindow.cs b/Dalamud/Plugin/PluginInstallerWindow.cs index 196619996..4b2e0a237 100644 --- a/Dalamud/Plugin/PluginInstallerWindow.cs +++ b/Dalamud/Plugin/PluginInstallerWindow.cs @@ -100,8 +100,6 @@ namespace Dalamud.Plugin didAnyWithSearch = true; - ImGui.PushID(pluginDefinition.InternalName + pluginDefinition.AssemblyVersion); - var isInstalled = this.dalamud.PluginManager.Plugins.Where(x => x.Definition != null).Any( x => x.Definition.InternalName == pluginDefinition.InternalName); @@ -120,8 +118,16 @@ namespace Dalamud.Plugin if (Version.TryParse(pluginDefinition.AssemblyVersion, out var assemblyVersion) && Version.TryParse(pluginDefinition.TestingAssemblyVersion, out var testingAssemblyVersion)) isTestingAvailable = this.dalamud.Configuration.DoPluginTest && testingAssemblyVersion > assemblyVersion; + if (this.dalamud.Configuration.DoPluginTest && pluginDefinition.IsTestingExclusive) { + isTestingAvailable = true; + } else { + continue; + } + label += isTestingAvailable ? " (Testing version)" : string.Empty; + ImGui.PushID(pluginDefinition.InternalName + pluginDefinition.AssemblyVersion); + if (ImGui.CollapsingHeader(pluginDefinition.Name + label + "###Header" + pluginDefinition.InternalName)) { ImGui.Indent(); diff --git a/Dalamud/Plugin/PluginRepository.cs b/Dalamud/Plugin/PluginRepository.cs index 9ab463d69..0202411a7 100644 --- a/Dalamud/Plugin/PluginRepository.cs +++ b/Dalamud/Plugin/PluginRepository.cs @@ -97,10 +97,10 @@ namespace Dalamud.Plugin using var client = new WebClient(); - var doTestingDownload = fromTesting && Version.Parse(definition.TestingAssemblyVersion) > Version.Parse(definition.AssemblyVersion); + var doTestingDownload = fromTesting && Version.Parse(definition.TestingAssemblyVersion) > Version.Parse(definition.AssemblyVersion) || fromTesting && definition.IsTestingExclusive; var url = string.Format(PluginFunctionBaseUrl, definition.InternalName, isUpdate, doTestingDownload); - Log.Information("Downloading plugin to {0} from {1} doTestingDownload: {2}", path, url, doTestingDownload); + Log.Information("Downloading plugin to {0} from {1} doTestingDownload: {2} isTestingExclusive:", path, url, doTestingDownload, definition.IsTestingExclusive); client.DownloadFile(url, path);