mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-15 05:04:15 +01:00
feat: implement IsTestingExclusive
This commit is contained in:
parent
3bd53590f1
commit
74ea78cab1
3 changed files with 15 additions and 4 deletions
|
|
@ -33,6 +33,11 @@ namespace Dalamud.Plugin
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string TestingAssemblyVersion { get; set; }
|
public string TestingAssemblyVersion { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Defines if the plugin is only available for testing.
|
||||||
|
/// </summary>
|
||||||
|
public bool IsTestingExclusive { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A description of the plugins functions.
|
/// A description of the plugins functions.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -100,8 +100,6 @@ namespace Dalamud.Plugin
|
||||||
|
|
||||||
didAnyWithSearch = true;
|
didAnyWithSearch = true;
|
||||||
|
|
||||||
ImGui.PushID(pluginDefinition.InternalName + pluginDefinition.AssemblyVersion);
|
|
||||||
|
|
||||||
var isInstalled = this.dalamud.PluginManager.Plugins.Where(x => x.Definition != null).Any(
|
var isInstalled = this.dalamud.PluginManager.Plugins.Where(x => x.Definition != null).Any(
|
||||||
x => x.Definition.InternalName == pluginDefinition.InternalName);
|
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))
|
if (Version.TryParse(pluginDefinition.AssemblyVersion, out var assemblyVersion) && Version.TryParse(pluginDefinition.TestingAssemblyVersion, out var testingAssemblyVersion))
|
||||||
isTestingAvailable = this.dalamud.Configuration.DoPluginTest && testingAssemblyVersion > assemblyVersion;
|
isTestingAvailable = this.dalamud.Configuration.DoPluginTest && testingAssemblyVersion > assemblyVersion;
|
||||||
|
|
||||||
|
if (this.dalamud.Configuration.DoPluginTest && pluginDefinition.IsTestingExclusive) {
|
||||||
|
isTestingAvailable = true;
|
||||||
|
} else {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
label += isTestingAvailable ? " (Testing version)" : string.Empty;
|
label += isTestingAvailable ? " (Testing version)" : string.Empty;
|
||||||
|
|
||||||
|
ImGui.PushID(pluginDefinition.InternalName + pluginDefinition.AssemblyVersion);
|
||||||
|
|
||||||
if (ImGui.CollapsingHeader(pluginDefinition.Name + label + "###Header" + pluginDefinition.InternalName)) {
|
if (ImGui.CollapsingHeader(pluginDefinition.Name + label + "###Header" + pluginDefinition.InternalName)) {
|
||||||
ImGui.Indent();
|
ImGui.Indent();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -97,10 +97,10 @@ namespace Dalamud.Plugin
|
||||||
|
|
||||||
using var client = new WebClient();
|
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);
|
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);
|
client.DownloadFile(url, path);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue