mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
fix: edge case for plugin installs with old PM
This commit is contained in:
parent
1dd55b62e9
commit
a104365b32
1 changed files with 9 additions and 2 deletions
|
|
@ -15,6 +15,8 @@ namespace Dalamud.Plugin
|
||||||
internal class PluginRepository {
|
internal class PluginRepository {
|
||||||
private string PluginFunctionBaseUrl => "https://us-central1-xl-functions.cloudfunctions.net/download-plugin/?plugin={0}&isUpdate={1}&isTesting={2}";
|
private string PluginFunctionBaseUrl => "https://us-central1-xl-functions.cloudfunctions.net/download-plugin/?plugin={0}&isUpdate={1}&isTesting={2}";
|
||||||
private string PluginMasterUrl => "https://raw.githubusercontent.com/goatcorp/DalamudPlugins/master/pluginmaster.json";
|
private string PluginMasterUrl => "https://raw.githubusercontent.com/goatcorp/DalamudPlugins/master/pluginmaster.json";
|
||||||
|
private string PluginJsonUrl =
|
||||||
|
"https://raw.githubusercontent.com/goatcorp/DalamudPlugins/master/{0}/{1}/{1}.json";
|
||||||
|
|
||||||
|
|
||||||
private readonly Dalamud dalamud;
|
private readonly Dalamud dalamud;
|
||||||
|
|
@ -66,6 +68,13 @@ namespace Dalamud.Plugin
|
||||||
|
|
||||||
public bool InstallPlugin(PluginDefinition definition, bool enableAfterInstall = true, bool isUpdate = false, bool fromTesting = false) {
|
public bool InstallPlugin(PluginDefinition definition, bool enableAfterInstall = true, bool isUpdate = false, bool fromTesting = false) {
|
||||||
try {
|
try {
|
||||||
|
using var client = new WebClient();
|
||||||
|
|
||||||
|
// We need to redownload the json, for the eventuality of the zip having changed after PM download
|
||||||
|
definition = JsonConvert.DeserializeObject<PluginDefinition>(
|
||||||
|
client.DownloadString(string.Format(this.PluginJsonUrl, fromTesting ? "testing" : "plugins",
|
||||||
|
definition.InternalName)));
|
||||||
|
|
||||||
var outputDir = new DirectoryInfo(Path.Combine(this.pluginDirectory, definition.InternalName, fromTesting ? definition.TestingAssemblyVersion : definition.AssemblyVersion));
|
var outputDir = new DirectoryInfo(Path.Combine(this.pluginDirectory, definition.InternalName, fromTesting ? definition.TestingAssemblyVersion : definition.AssemblyVersion));
|
||||||
var dllFile = new FileInfo(Path.Combine(outputDir.FullName, $"{definition.InternalName}.dll"));
|
var dllFile = new FileInfo(Path.Combine(outputDir.FullName, $"{definition.InternalName}.dll"));
|
||||||
var disabledFile = new FileInfo(Path.Combine(outputDir.FullName, ".disabled"));
|
var disabledFile = new FileInfo(Path.Combine(outputDir.FullName, ".disabled"));
|
||||||
|
|
@ -92,8 +101,6 @@ namespace Dalamud.Plugin
|
||||||
}
|
}
|
||||||
|
|
||||||
var path = Path.GetTempFileName();
|
var path = Path.GetTempFileName();
|
||||||
|
|
||||||
using var client = new WebClient();
|
|
||||||
|
|
||||||
var doTestingDownload = false;
|
var doTestingDownload = false;
|
||||||
if ((Version.TryParse(definition.TestingAssemblyVersion, out var testingAssemblyVer) || definition.IsTestingExclusive)
|
if ((Version.TryParse(definition.TestingAssemblyVersion, out var testingAssemblyVer) || definition.IsTestingExclusive)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue