Browse Source

Extensions

pull/349/head
Sebastian Stehle 7 years ago
parent
commit
041b1d32a3
  1. 3
      extensions/Squidex.Extensions/Squidex.Extensions.csproj
  2. 23
      src/Squidex/Pipeline/Plugins/PluginExtensions.cs
  3. 7
      src/Squidex/Squidex.csproj

3
extensions/Squidex.Extensions/Squidex.Extensions.csproj

@ -31,4 +31,7 @@
<ItemGroup> <ItemGroup>
<AdditionalFiles Include="..\..\stylecop.json" Link="stylecop.json" /> <AdditionalFiles Include="..\..\stylecop.json" Link="stylecop.json" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
</Project> </Project>

23
src/Squidex/Pipeline/Plugins/PluginExtensions.cs

@ -14,29 +14,13 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Mvc.ApplicationParts; using Microsoft.AspNetCore.Mvc.ApplicationParts;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; 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.Log;
using Squidex.Infrastructure.Plugins; using Squidex.Infrastructure.Plugins;
using Squidex.Web;
namespace Squidex.Pipeline.Plugins namespace Squidex.Pipeline.Plugins
{ {
public static class PluginExtensions 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) public static IMvcBuilder AddMyPlugins(this IMvcBuilder mvcBuilder, IConfiguration config)
{ {
var pluginManager = new PluginManager(); var pluginManager = new PluginManager();
@ -89,12 +73,7 @@ namespace Squidex.Pipeline.Plugins
{ {
if (candidate.Extension.Equals(".dll", StringComparison.OrdinalIgnoreCase)) if (candidate.Extension.Equals(".dll", StringComparison.OrdinalIgnoreCase))
{ {
return PluginLoader.CreateFromAssemblyFile(candidate.FullName, SharedTypes); return PluginLoader.CreateFromAssemblyFile(candidate.FullName, PluginLoaderOptions.PreferSharedTypes);
}
if (candidate.Extension.Equals(".json", StringComparison.OrdinalIgnoreCase))
{
return PluginLoader.CreateFromConfigFile(candidate.FullName, SharedTypes);
} }
} }

7
src/Squidex/Squidex.csproj

@ -40,7 +40,7 @@
<ProjectReference Include="..\Squidex.Shared\Squidex.Shared.csproj" /> <ProjectReference Include="..\Squidex.Shared\Squidex.Shared.csproj" />
<ProjectReference Include="..\Squidex.Web\Squidex.Web.csproj" /> <ProjectReference Include="..\Squidex.Web\Squidex.Web.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="AspNet.Security.OAuth.GitHub" Version="2.0.1" /> <PackageReference Include="AspNet.Security.OAuth.GitHub" Version="2.0.1" />
<PackageReference Include="EventStore.ClientAPI.NetCore" Version="4.1.0.23" /> <PackageReference Include="EventStore.ClientAPI.NetCore" Version="4.1.0.23" />
@ -59,6 +59,7 @@
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="2.1.0" /> <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.2.0" /> <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.2.0" />
<PackageReference Include="Microsoft.Data.Edm" Version="5.8.4" /> <PackageReference Include="Microsoft.Data.Edm" Version="5.8.4" />
<PackageReference Include="Microsoft.OData.Core" Version="7.5.4" /> <PackageReference Include="Microsoft.OData.Core" Version="7.5.4" />
@ -69,12 +70,12 @@
<PackageReference Include="MongoDB.Driver" Version="2.8.0" /> <PackageReference Include="MongoDB.Driver" Version="2.8.0" />
<PackageReference Include="NJsonSchema" Version="9.13.27" /> <PackageReference Include="NJsonSchema" Version="9.13.27" />
<PackageReference Include="NSwag.AspNetCore" Version="12.0.17" /> <PackageReference Include="NSwag.AspNetCore" Version="12.0.17" />
<PackageReference Include="OpenCover" Version="4.7.922" /> <PackageReference Include="OpenCover" Version="4.7.922" PrivateAssets="all" />
<PackageReference Include="Orleans.Providers.MongoDB" Version="2.3.1" /> <PackageReference Include="Orleans.Providers.MongoDB" Version="2.3.1" />
<PackageReference Include="Orleans.WebHostCompatibilityLayer" Version="2.3.0" /> <PackageReference Include="Orleans.WebHostCompatibilityLayer" Version="2.3.0" />
<PackageReference Include="OrleansDashboard" Version="2.3.0" /> <PackageReference Include="OrleansDashboard" Version="2.3.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" /> <PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="ReportGenerator" Version="4.0.15" /> <PackageReference Include="ReportGenerator" Version="4.0.15" PrivateAssets="all" />
<PackageReference Include="Squidex.ClientLibrary" Version="2.8.0" /> <PackageReference Include="Squidex.ClientLibrary" Version="2.8.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" /> <PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.Linq" Version="4.3.0" /> <PackageReference Include="System.Linq" Version="4.3.0" />

Loading…
Cancel
Save