Browse Source

Migration to newer packages.

pull/349/head
Sebastian Stehle 7 years ago
parent
commit
096eb72d40
  1. 2
      extensions/Squidex.Extensions/Actions/Algolia/AlgoliaPlugin.cs
  2. 2
      extensions/Squidex.Extensions/Actions/AzureQueue/AzureQueuePlugin.cs
  3. 2
      extensions/Squidex.Extensions/Actions/Discourse/DiscoursePlugin.cs
  4. 2
      extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchPlugin.cs
  5. 2
      extensions/Squidex.Extensions/Actions/Email/EmailPlugin.cs
  6. 2
      extensions/Squidex.Extensions/Actions/Fastly/FastlyPlugin.cs
  7. 2
      extensions/Squidex.Extensions/Actions/Medium/MediumPlugin.cs
  8. 2
      extensions/Squidex.Extensions/Actions/Prerender/PrerenderPlugin.cs
  9. 2
      extensions/Squidex.Extensions/Actions/Slack/SlackPlugin.cs
  10. 4
      extensions/Squidex.Extensions/Actions/Twitter/TwitterPlugin.cs
  11. 2
      extensions/Squidex.Extensions/Actions/Webhook/WebhookPlugin.cs
  12. 4
      extensions/Squidex.Extensions/Samples/MemoryAssetStorePlugin.cs
  13. 2
      extensions/Squidex.Extensions/Squidex.Extensions.csproj
  14. 2
      src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj
  15. 2
      src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj
  16. 4
      src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj
  17. 4
      src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj
  18. 2
      src/Squidex.Infrastructure.Azure/Squidex.Infrastructure.Azure.csproj
  19. 4
      src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj
  20. 2
      src/Squidex.Infrastructure/Plugins/IPlugin.cs
  21. 6
      src/Squidex.Infrastructure/Plugins/PluginManager.cs
  22. 6
      src/Squidex.Infrastructure/Squidex.Infrastructure.csproj
  23. 47
      src/Squidex/Config/Orleans/EnvironmentWrapper.cs
  24. 57
      src/Squidex/Config/Orleans/Extensions.cs
  25. 50
      src/Squidex/Config/Orleans/OrleansServices.cs
  26. 73
      src/Squidex/Config/Orleans/SiloServiceBuilder.cs
  27. 6
      src/Squidex/Pipeline/Plugins/PluginExtensions.cs
  28. 24
      src/Squidex/Squidex.csproj
  29. 23
      src/Squidex/WebStartup.cs
  30. 2
      tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj
  31. 4
      tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj
  32. 2
      tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj
  33. 2
      tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj
  34. 8
      tests/Squidex.Tests/Squidex.Tests.csproj
  35. 2
      tools/Migrate_00/Migrate_00.csproj

2
extensions/Squidex.Extensions/Actions/Algolia/AlgoliaPlugin.cs

@ -13,7 +13,7 @@ namespace Squidex.Extensions.Actions.Algolia
{
public sealed class AlgoliaPlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
services.AddRuleAction<AlgoliaAction, AlgoliaActionHandler>();
}

2
extensions/Squidex.Extensions/Actions/AzureQueue/AzureQueuePlugin.cs

@ -13,7 +13,7 @@ namespace Squidex.Extensions.Actions.AzureQueue
{
public sealed class AzureQueuePlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
services.AddRuleAction<AzureQueueAction, AzureQueueActionHandler>();
}

2
extensions/Squidex.Extensions/Actions/Discourse/DiscoursePlugin.cs

@ -13,7 +13,7 @@ namespace Squidex.Extensions.Actions.Discourse
{
public sealed class DiscoursePlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
services.AddRuleAction<DiscourseAction, DiscourseActionHandler>();
}

2
extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchPlugin.cs

@ -13,7 +13,7 @@ namespace Squidex.Extensions.Actions.ElasticSearch
{
public sealed class ElasticSearchPlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
services.AddRuleAction<ElasticSearchAction, ElasticSearchActionHandler>();
}

2
extensions/Squidex.Extensions/Actions/Email/EmailPlugin.cs

@ -13,7 +13,7 @@ namespace Squidex.Extensions.Actions.Email
{
public sealed class EmailPlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
services.AddRuleAction<EmailAction, EmailActionHandler>();
}

2
extensions/Squidex.Extensions/Actions/Fastly/FastlyPlugin.cs

@ -13,7 +13,7 @@ namespace Squidex.Extensions.Actions.Fastly
{
public sealed class FastlyPlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
services.AddRuleAction<FastlyAction, FastlyActionHandler>();
}

2
extensions/Squidex.Extensions/Actions/Medium/MediumPlugin.cs

@ -13,7 +13,7 @@ namespace Squidex.Extensions.Actions.Medium
{
public sealed class MediumPlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
services.AddRuleAction<MediumAction, MediumActionHandler>();
}

2
extensions/Squidex.Extensions/Actions/Prerender/PrerenderPlugin.cs

@ -13,7 +13,7 @@ namespace Squidex.Extensions.Actions.Prerender
{
public sealed class PrerenderPlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
services.AddRuleAction<PrerenderAction, PrerenderActionHandler>();
}

2
extensions/Squidex.Extensions/Actions/Slack/SlackPlugin.cs

@ -13,7 +13,7 @@ namespace Squidex.Extensions.Actions.Slack
{
public sealed class SlackPlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
services.AddRuleAction<SlackAction, SlackActionHandler>();
}

4
extensions/Squidex.Extensions/Actions/Twitter/TwitterPlugin.cs

@ -13,10 +13,10 @@ namespace Squidex.Extensions.Actions.Twitter
{
public sealed class TwitterPlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
services.Configure<TwitterOptions>(
configuration.GetSection("twitter"));
config.GetSection("twitter"));
services.AddRuleAction<TweetAction, TweetActionHandler>();
}

2
extensions/Squidex.Extensions/Actions/Webhook/WebhookPlugin.cs

@ -13,7 +13,7 @@ namespace Squidex.Extensions.Actions.Webhook
{
public sealed class WebhookPlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
services.AddRuleAction<WebhookAction, WebhookActionHandler>();
}

4
extensions/Squidex.Extensions/Samples/MemoryAssetStorePlugin.cs

@ -15,9 +15,9 @@ namespace Squidex.Extensions.Samples
{
public sealed class MemoryAssetStorePlugin : IPlugin
{
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
var storeType = configuration.GetValue<string>("assetStore:type");
var storeType = config.GetValue<string>("assetStore:type");
if (string.Equals(storeType, "Memory", StringComparison.OrdinalIgnoreCase))
{

2
extensions/Squidex.Extensions/Squidex.Extensions.csproj

@ -13,7 +13,7 @@
<ItemGroup>
<PackageReference Include="Algolia.Search" Version="5.3.1" />
<PackageReference Include="CoreTweet" Version="1.0.0.483" />
<PackageReference Include="Elasticsearch.Net" Version="6.5.0" />
<PackageReference Include="Elasticsearch.Net" Version="6.6.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="2.2.0" />
<PackageReference Include="Microsoft.OData.Core" Version="7.5.4" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />

2
src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj

@ -17,7 +17,7 @@
<ItemGroup>
<PackageReference Include="Jint" Version="3.0.0-beta-1469" />
<PackageReference Include="Microsoft.OData.Core" Version="7.5.4" />
<PackageReference Include="NJsonSchema" Version="9.13.19" />
<PackageReference Include="NJsonSchema" Version="9.13.27" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.Collections.Immutable" Version="1.5.0" />

2
src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj

@ -17,7 +17,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.OData.Core" Version="7.5.4" />
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="MongoDB.Driver" Version="2.8.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

4
src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj

@ -20,11 +20,11 @@
<PackageReference Include="Lucene.Net.Analysis.Common" Version="4.8.0-beta00005" />
<PackageReference Include="Lucene.Net.Queries" Version="4.8.0-beta00005" />
<PackageReference Include="Lucene.Net.QueryParser" Version="4.8.0-beta00005" />
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="2.2.3">
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="2.3.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Orleans.Core" Version="2.2.0" />
<PackageReference Include="Microsoft.Orleans.Core" Version="2.3.0" />
<PackageReference Include="NodaTime" Version="2.4.4" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />

4
src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj

@ -14,10 +14,10 @@
<ProjectReference Include="..\Squidex.Shared\Squidex.Shared.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="IdentityServer4" Version="2.3.2" />
<PackageReference Include="IdentityServer4" Version="2.4.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.2.0" />
<PackageReference Include="Microsoft.Win32.Registry" Version="4.5.0" />
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="MongoDB.Driver" Version="2.8.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.Security.Principal.Windows" Version="4.5.1" />

2
src/Squidex.Infrastructure.Azure/Squidex.Infrastructure.Azure.csproj

@ -6,7 +6,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.DocumentDB.ChangeFeedProcessor" Version="2.2.6" />
<PackageReference Include="Microsoft.Azure.DocumentDB.Core" Version="2.2.2" />
<PackageReference Include="Microsoft.Azure.DocumentDB.Core" Version="2.2.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="WindowsAzure.Storage" Version="9.3.3" />

4
src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj

@ -12,8 +12,8 @@
<ProjectReference Include="..\Squidex.Infrastructure\Squidex.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="MongoDB.Driver.GridFS" Version="2.7.3" />
<PackageReference Include="MongoDB.Driver" Version="2.8.0" />
<PackageReference Include="MongoDB.Driver.GridFS" Version="2.8.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.Threading.Tasks.Dataflow" Version="4.9.0" />

2
src/Squidex.Infrastructure/Plugins/IPlugin.cs

@ -12,6 +12,6 @@ namespace Squidex.Infrastructure.Plugins
{
public interface IPlugin
{
void ConfigureServices(IServiceCollection services, IConfiguration configuration);
void ConfigureServices(IServiceCollection services, IConfiguration config);
}
}

6
src/Squidex.Infrastructure/Plugins/PluginManager.cs

@ -59,14 +59,14 @@ namespace Squidex.Infrastructure.Plugins
exceptions.Add((plugin, action, exception));
}
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
public void ConfigureServices(IServiceCollection services, IConfiguration config)
{
Guard.NotNull(services, nameof(services));
Guard.NotNull(configuration, nameof(configuration));
Guard.NotNull(config, nameof(config));
foreach (var plugin in loadedPlugins)
{
plugin.ConfigureServices(services, configuration);
plugin.ConfigureServices(services, config);
}
}

6
src/Squidex.Infrastructure/Squidex.Infrastructure.csproj

@ -13,12 +13,12 @@
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.2.0" />
<PackageReference Include="Microsoft.OData.Core" Version="7.5.4" />
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="2.2.3">
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="2.3.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Orleans.Core" Version="2.2.0" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="2.2.3" />
<PackageReference Include="Microsoft.Orleans.Core" Version="2.3.0" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="2.3.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="NodaTime" Version="2.4.4" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />

47
src/Squidex/Config/Orleans/EnvironmentWrapper.cs

@ -0,0 +1,47 @@
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Hosting;
using IWebHostEnvironment = Microsoft.AspNetCore.Hosting.IHostingEnvironment;
namespace Squidex.Config.Orleans
{
public sealed class EnvironmentWrapper : IHostingEnvironment
{
private readonly IWebHostEnvironment nested;
public string EnvironmentName
{
get => nested.EnvironmentName;
set => nested.EnvironmentName = value;
}
public string ApplicationName
{
get => nested.ApplicationName;
set => nested.ApplicationName = value;
}
public string ContentRootPath
{
get => nested.ContentRootPath;
set => nested.ContentRootPath = value;
}
public IFileProvider ContentRootFileProvider
{
get => nested.ContentRootFileProvider;
set => nested.ContentRootFileProvider = value;
}
public EnvironmentWrapper(IWebHostEnvironment nested)
{
this.nested = nested;
}
}
}

57
src/Squidex/Config/Orleans/Extensions.cs

@ -1,57 +0,0 @@
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using System;
using Orleans;
using Orleans.ApplicationParts;
using Orleans.Configuration;
using Orleans.Hosting;
using OrleansDashboard;
using OrleansDashboard.Client;
using OrleansDashboard.Metrics;
using Squidex.Domain.Apps.Entities;
using Squidex.Infrastructure;
namespace Squidex.Config.Orleans
{
public static class Extensions
{
public static void AddMyParts(this IApplicationPartManager builder)
{
builder.AddApplicationPart(SquidexEntities.Assembly);
builder.AddApplicationPart(SquidexInfrastructure.Assembly);
}
public static void Configure(this ClusterOptions options)
{
options.ClusterId = Constants.OrleansClusterId;
options.ServiceId = Constants.OrleansClusterId;
}
public static ISiloHostBuilder UseDashboardEx(this ISiloHostBuilder builder, Action<DashboardOptions> configurator = null)
{
builder.AddStartupTask<Dashboard>();
builder.ConfigureApplicationParts(appParts =>
appParts
.AddFrameworkPart(typeof(Dashboard).Assembly)
.AddFrameworkPart(typeof(DashboardClient).Assembly));
builder.ConfigureServices(services =>
{
services.AddDashboard(options =>
{
options.HostSelf = false;
});
});
builder.AddIncomingGrainCallFilter<GrainProfiler>();
return builder;
}
}
}

50
src/Squidex/Config/Orleans/OrleansServices.cs

@ -5,20 +5,22 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using System;
using System.Net;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Orleans;
using Orleans.Configuration;
using Orleans.Hosting;
using Squidex.Domain.Apps.Entities;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Orleans;
using IWebHostEnvironment = Microsoft.AspNetCore.Hosting.IHostingEnvironment;
namespace Squidex.Config.Orleans
{
public static class OrleansServices
{
public static IServiceProvider AddAndBuildOrleans(this IServiceCollection services, IConfiguration config, Action<IServiceCollection> afterServices)
public static IServiceCollection AddOrleans(this IServiceCollection services, IConfiguration config, IWebHostEnvironment environment)
{
services.Configure<ClusterOptions>(options =>
{
@ -35,16 +37,20 @@ namespace Squidex.Config.Orleans
options.HideTrace = true;
});
services.AddHostedService<SiloHost>();
services.AddSingleton<IIncomingGrainCallFilter, LocalCacheFilter>();
var hostBuilder = new SiloHostBuilder()
.UseDashboardEx()
.EnableDirectClient()
.AddIncomingGrainCallFilter<LocalCacheFilter>()
.ConfigureApplicationParts(builder =>
{
builder.AddMyParts();
});
var hostBuilder = new SiloServiceBuilder(config, environment);
hostBuilder.UseDashboard(options =>
{
options.HostSelf = false;
});
hostBuilder.ConfigureApplicationParts(builder =>
{
builder.AddApplicationPart(SquidexEntities.Assembly);
builder.AddApplicationPart(SquidexInfrastructure.Assembly);
});
var gatewayPort = config.GetOptionalValue("orleans:gatewayPort", 40000);
@ -89,23 +95,15 @@ namespace Squidex.Config.Orleans
}
});
IServiceProvider provider = null;
hostBuilder.Build(services);
hostBuilder.UseServiceProviderFactory((siloServices) =>
{
foreach (var descriptor in services)
{
siloServices.Add(descriptor);
}
afterServices(siloServices);
provider = siloServices.BuildServiceProvider();
return provider;
}).Build();
return services;
}
return provider;
public static void Configure(this ClusterOptions options)
{
options.ClusterId = Constants.OrleansClusterId;
options.ServiceId = Constants.OrleansClusterId;
}
}
}

73
src/Squidex/Config/Orleans/SiloServiceBuilder.cs

@ -0,0 +1,73 @@
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using System;
using System.Collections.Generic;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Orleans;
using Orleans.Hosting;
using Squidex.Infrastructure;
using HostingBuilderContext = Microsoft.Extensions.Hosting.HostBuilderContext;
using WebHostEnvironment = Microsoft.AspNetCore.Hosting.IHostingEnvironment;
namespace Squidex.Config.Orleans
{
public sealed class SiloServiceBuilder : ISiloBuilder
{
private readonly HostingBuilderContext context = new HostingBuilderContext(new Dictionary<object, object>());
private readonly List<Action<HostingBuilderContext, ISiloBuilder>> configureSiloDelegates = new List<Action<HostingBuilderContext, ISiloBuilder>>();
private readonly List<Action<HostingBuilderContext, IServiceCollection>> configureServicesDelegates = new List<Action<HostingBuilderContext, IServiceCollection>>();
public IDictionary<object, object> Properties
{
get { return context.Properties; }
}
public SiloServiceBuilder(IConfiguration config, WebHostEnvironment environment)
{
context.Configuration = config;
context.HostingEnvironment = new EnvironmentWrapper(environment);
}
public void Build(IServiceCollection serviceCollection)
{
foreach (var configurationDelegate in configureSiloDelegates)
{
configurationDelegate(context, this);
}
serviceCollection.AddHostedService<SiloHost>();
this.ConfigureDefaults();
this.ConfigureApplicationParts(parts => parts.ConfigureDefaults());
foreach (var configurationDelegate in configureServicesDelegates)
{
configurationDelegate(context, serviceCollection);
}
}
public ISiloBuilder ConfigureSilo(Action<HostingBuilderContext, ISiloBuilder> configureDelegate)
{
Guard.NotNull(configureDelegate, nameof(configureDelegate));
configureSiloDelegates.Add(configureDelegate);
return this;
}
public ISiloBuilder ConfigureServices(Action<HostingBuilderContext, IServiceCollection> configureDelegate)
{
Guard.NotNull(configureDelegate, nameof(configureDelegate));
configureServicesDelegates.Add(configureDelegate);
return this;
}
}
}

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

@ -35,11 +35,11 @@ namespace Squidex.Pipeline.Plugins
typeof(SquidexInfrastructure)
};
public static IMvcBuilder AddMyPlugins(this IMvcBuilder mvcBuilder, IConfiguration configuration)
public static IMvcBuilder AddMyPlugins(this IMvcBuilder mvcBuilder, IConfiguration config)
{
var pluginManager = new PluginManager();
var options = configuration.Get<PluginOptions>();
var options = config.Get<PluginOptions>();
if (options.Plugins != null)
{
@ -74,7 +74,7 @@ namespace Squidex.Pipeline.Plugins
}
}
pluginManager.ConfigureServices(mvcBuilder.Services, configuration);
pluginManager.ConfigureServices(mvcBuilder.Services, config);
mvcBuilder.Services.AddSingleton(pluginManager);

24
src/Squidex/Squidex.csproj

@ -43,9 +43,9 @@
<ItemGroup>
<PackageReference Include="AspNet.Security.OAuth.GitHub" Version="2.0.1" />
<PackageReference Include="EventStore.ClientAPI.NetCore" Version="4.1.0.23" />
<PackageReference Include="IdentityServer4" Version="2.3.2" />
<PackageReference Include="IdentityServer4" Version="2.4.0" />
<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="2.7.0" />
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="2.3.0" />
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="2.4.0" />
<PackageReference Include="McMaster.NETCore.Plugins" Version="0.2.4" />
<PackageReference Include="Microsoft.AspNetCore" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="2.2.0" />
@ -61,18 +61,18 @@
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.2.0" />
<PackageReference Include="Microsoft.Data.Edm" Version="5.8.4" />
<PackageReference Include="Microsoft.OData.Core" Version="7.5.4" />
<PackageReference Include="Microsoft.Orleans.Client" Version="2.2.0" />
<PackageReference Include="Microsoft.Orleans.Core" Version="2.2.0" />
<PackageReference Include="Microsoft.Orleans.Core.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="2.2.3" />
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="NJsonSchema" Version="9.13.19" />
<PackageReference Include="NSwag.AspNetCore" Version="12.0.14" />
<PackageReference Include="Microsoft.Orleans.Client" Version="2.3.0" />
<PackageReference Include="Microsoft.Orleans.Core" Version="2.3.0" />
<PackageReference Include="Microsoft.Orleans.Core.Abstractions" Version="2.3.0" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="2.3.0" />
<PackageReference Include="MongoDB.Driver" Version="2.8.0" />
<PackageReference Include="NJsonSchema" Version="9.13.27" />
<PackageReference Include="NSwag.AspNetCore" Version="12.0.17" />
<PackageReference Include="OpenCover" Version="4.7.922" />
<PackageReference Include="Orleans.Providers.MongoDB" Version="2.0.2" />
<PackageReference Include="OrleansDashboard" Version="2.2.0" />
<PackageReference Include="Orleans.Providers.MongoDB" Version="2.3.1" />
<PackageReference Include="OrleansDashboard" Version="2.3.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="ReportGenerator" Version="4.0.13.1" />
<PackageReference Include="ReportGenerator" Version="4.0.15" />
<PackageReference Include="Squidex.ClientLibrary" Version="2.8.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.Linq" Version="4.3.0" />

23
src/Squidex/WebStartup.cs

@ -7,6 +7,7 @@
using System;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Squidex.Areas.Api;
@ -37,17 +38,18 @@ namespace Squidex
{
public sealed class WebStartup
{
private readonly IConfiguration configuration;
private readonly IConfiguration config;
private readonly IHostingEnvironment environment;
public WebStartup(IConfiguration configuration)
public WebStartup(IConfiguration config, IHostingEnvironment environment)
{
this.configuration = configuration;
this.config = config;
this.environment = environment;
}
public IServiceProvider ConfigureServices(IServiceCollection services)
{
var config = configuration;
services.AddHttpClient();
services.AddLogging();
services.AddMemoryCache();
@ -100,13 +102,12 @@ namespace Squidex
services.AddHostedService<InitializerHost>();
var provider = services.AddAndBuildOrleans(configuration, afterServices =>
{
afterServices.AddHostedService<MigratorHost>();
afterServices.AddHostedService<BackgroundHost>();
});
services.AddOrleans(config, environment);
services.AddHostedService<MigratorHost>();
services.AddHostedService<BackgroundHost>();
return provider;
return services.BuildServiceProvider();
}
public void Configure(IApplicationBuilder app)

2
tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj

@ -14,7 +14,7 @@
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="5.1.0" />
<PackageReference Include="FluentAssertions" Version="5.6.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

4
tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj

@ -20,8 +20,8 @@
<PackageReference Include="FakeItEasy" Version="5.1.0" />
<PackageReference Include="FluentAssertions" Version="5.6.0" />
<PackageReference Include="GraphQL" Version="2.4.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="MongoDB.Driver" Version="2.8.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

2
tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj

@ -14,7 +14,7 @@
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="5.1.0" />
<PackageReference Include="FluentAssertions" Version="5.6.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

2
tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj

@ -19,7 +19,7 @@
<PackageReference Include="Google.Cloud.Storage.V1" Version="2.3.0" />
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="2.2.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

8
tests/Squidex.Tests/Squidex.Tests.csproj

@ -13,10 +13,10 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="5.1.0" />
<PackageReference Include="IdentityServer4" Version="2.3.2" />
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="2.3.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="NJsonSchema" Version="9.13.19" />
<PackageReference Include="IdentityServer4" Version="2.4.0" />
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="2.4.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="NJsonSchema" Version="9.13.27" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="xunit" Version="2.4.1" />

2
tools/Migrate_00/Migrate_00.csproj

@ -6,7 +6,7 @@
<LangVersion>7.3</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="MongoDB.Driver" Version="2.8.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
</ItemGroup>

Loading…
Cancel
Save