Skip to content

Commit f8d0981

Browse files
committed
Update json rpc plugin directory before loading plugins
1 parent fe86e23 commit f8d0981

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

Flow.Launcher.Core/Plugin/PluginManager.cs

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,26 @@ public static void LoadPlugins(PluginsSettings settings)
151151
_metadatas = PluginConfig.Parse(Directories);
152152
Settings = settings;
153153
Settings.UpdatePluginSettings(_metadatas);
154+
// Update Json RPC plugin directory before loading plugins so that we can pass the correct plugin directory
155+
UpdateJsonRPCPluginDirectory(_metadatas);
154156
AllPlugins = PluginsLoader.Plugins(_metadatas, Settings);
155-
UpdatePluginDirectory(_metadatas);
157+
// Update dotnet plugin directory after loading plugins because we need to get assembly name first
158+
UpdateNotNetPluginDirectory(_metadatas);
156159
}
157160

158-
private static void UpdatePluginDirectory(List<PluginMetadata> metadatas)
161+
private static void UpdateJsonRPCPluginDirectory(List<PluginMetadata> metadatas)
162+
{
163+
foreach (var metadata in metadatas)
164+
{
165+
if (!AllowedLanguage.IsDotNet(metadata.Language))
166+
{
167+
metadata.PluginSettingsDirectoryPath = Path.Combine(DataLocation.PluginSettingsDirectory, metadata.Name);
168+
metadata.PluginCacheDirectoryPath = Path.Combine(DataLocation.PluginCacheDirectory, metadata.Name);
169+
}
170+
}
171+
}
172+
173+
private static void UpdateNotNetPluginDirectory(List<PluginMetadata> metadatas)
159174
{
160175
foreach (var metadata in metadatas)
161176
{
@@ -164,11 +179,6 @@ private static void UpdatePluginDirectory(List<PluginMetadata> metadatas)
164179
metadata.PluginSettingsDirectoryPath = Path.Combine(DataLocation.PluginSettingsDirectory, metadata.AssemblyName);
165180
metadata.PluginCacheDirectoryPath = Path.Combine(DataLocation.PluginCacheDirectory, metadata.AssemblyName);
166181
}
167-
else
168-
{
169-
metadata.PluginSettingsDirectoryPath = Path.Combine(DataLocation.PluginSettingsDirectory, metadata.Name);
170-
metadata.PluginCacheDirectoryPath = Path.Combine(DataLocation.PluginCacheDirectory, metadata.Name);
171-
}
172182
}
173183
}
174184

Flow.Launcher.Plugin/PluginMetadata.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ namespace Flow.Launcher.Plugin
99
/// </summary>
1010
public class PluginMetadata : BaseModel
1111
{
12-
private string _pluginDirectory;
13-
1412
/// <summary>
1513
/// Plugin ID.
1614
/// </summary>
@@ -69,6 +67,8 @@ public class PluginMetadata : BaseModel
6967
[JsonIgnore]
7068
public string AssemblyName { get; internal set; }
7169

70+
private string _pluginDirectory;
71+
7272
/// <summary>
7373
/// Plugin source directory.
7474
/// </summary>

0 commit comments

Comments
 (0)