From cea498cf3741ebd5b686ba24965c3b302926746a Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Mon, 25 Mar 2019 20:17:53 +0100 Subject: [PATCH] Change reverted --- .../Pipeline/Plugins/PluginExtensions.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/Squidex/Pipeline/Plugins/PluginExtensions.cs b/src/Squidex/Pipeline/Plugins/PluginExtensions.cs index 56626e70e..8f257bc51 100644 --- a/src/Squidex/Pipeline/Plugins/PluginExtensions.cs +++ b/src/Squidex/Pipeline/Plugins/PluginExtensions.cs @@ -14,13 +14,29 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Mvc.ApplicationParts; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using Squidex.Domain.Apps.Core; +using Squidex.Domain.Apps.Entities; +using Squidex.Domain.Apps.Events; +using Squidex.Infrastructure; using Squidex.Infrastructure.Log; using Squidex.Infrastructure.Plugins; +using Squidex.Web; namespace Squidex.Pipeline.Plugins { public static class PluginExtensions { + private static readonly Type[] SharedTypes = + { + typeof(IPlugin), + typeof(SquidexCoreModel), + typeof(SquidexCoreOperations), + typeof(SquidexEntities), + typeof(SquidexEvents), + typeof(SquidexInfrastructure), + typeof(SquidexWeb) + }; + public static IMvcBuilder AddMyPlugins(this IMvcBuilder mvcBuilder, IConfiguration config) { var pluginManager = new PluginManager(); @@ -75,6 +91,11 @@ namespace Squidex.Pipeline.Plugins { return PluginLoader.CreateFromAssemblyFile(candidate.FullName, PluginLoaderOptions.PreferSharedTypes); } + + if (candidate.Extension.Equals(".json", StringComparison.OrdinalIgnoreCase)) + { + return PluginLoader.CreateFromConfigFile(candidate.FullName, SharedTypes); + } } return null;