diff --git a/src/Umbraco.Core/Composing/CompositionExtensions.cs b/src/Umbraco.Core/Composing/CompositionExtensions.cs
index 74f30b81b6..d087af77d8 100644
--- a/src/Umbraco.Core/Composing/CompositionExtensions.cs
+++ b/src/Umbraco.Core/Composing/CompositionExtensions.cs
@@ -11,9 +11,10 @@ namespace Umbraco.Extensions
///
/// The builder.
/// A function creating a published snapshot service.
- public static void SetPublishedSnapshotService(this IUmbracoBuilder builder, Func factory)
+ public static IUmbracoBuilder SetPublishedSnapshotService(this IUmbracoBuilder builder, Func factory)
{
builder.Services.AddUnique(factory);
+ return builder;
}
///
@@ -21,10 +22,11 @@ namespace Umbraco.Extensions
///
/// The type of the published snapshot service.
/// The builder.
- public static void SetPublishedSnapshotService(this IUmbracoBuilder builder)
+ public static IUmbracoBuilder SetPublishedSnapshotService(this IUmbracoBuilder builder)
where T : class, IPublishedSnapshotService
{
builder.Services.AddUnique();
+ return builder;
}
///
@@ -32,9 +34,10 @@ namespace Umbraco.Extensions
///
/// The builder.
/// A published snapshot service.
- public static void SetPublishedSnapshotService(this IUmbracoBuilder builder, IPublishedSnapshotService service)
+ public static IUmbracoBuilder SetPublishedSnapshotService(this IUmbracoBuilder builder, IPublishedSnapshotService service)
{
builder.Services.AddUnique(service);
+ return builder;
}
}
}
diff --git a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.DistributedCache.cs b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.DistributedCache.cs
index 05dba2cc0f..71ea85d80f 100644
--- a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.DistributedCache.cs
+++ b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.DistributedCache.cs
@@ -2,12 +2,8 @@ using System;
using Microsoft.Extensions.DependencyInjection;
using Umbraco.Cms.Core.Cache;
using Umbraco.Cms.Core.DependencyInjection;
-using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Core.Notifications;
-using Umbraco.Cms.Core.PublishedCache;
-using Umbraco.Cms.Core.Services.Changes;
using Umbraco.Cms.Core.Sync;
-using Umbraco.Cms.Infrastructure.Search;
using Umbraco.Cms.Infrastructure.Sync;
using Umbraco.Extensions;
@@ -40,49 +36,67 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// The type of the server registrar.
/// The builder.
- public static void SetServerRegistrar(this IUmbracoBuilder builder)
+ public static IUmbracoBuilder SetServerRegistrar(this IUmbracoBuilder builder)
where T : class, IServerRoleAccessor
- => builder.Services.AddUnique();
+ {
+ builder.Services.AddUnique();
+ return builder;
+ }
///
/// Sets the server registrar.
///
/// The builder.
/// A function creating a server registrar.
- public static void SetServerRegistrar(this IUmbracoBuilder builder, Func factory)
- => builder.Services.AddUnique(factory);
+ public static IUmbracoBuilder SetServerRegistrar(this IUmbracoBuilder builder, Func factory)
+ {
+ builder.Services.AddUnique(factory);
+ return builder;
+ }
///
/// Sets the server registrar.
///
/// The builder.
/// A server registrar.
- public static void SetServerRegistrar(this IUmbracoBuilder builder, IServerRoleAccessor registrar)
- => builder.Services.AddUnique(registrar);
+ public static IUmbracoBuilder SetServerRegistrar(this IUmbracoBuilder builder, IServerRoleAccessor registrar)
+ {
+ builder.Services.AddUnique(registrar);
+ return builder;
+ }
///
/// Sets the server messenger.
///
/// The type of the server registrar.
/// The builder.
- public static void SetServerMessenger(this IUmbracoBuilder builder)
+ public static IUmbracoBuilder SetServerMessenger(this IUmbracoBuilder builder)
where T : class, IServerMessenger
- => builder.Services.AddUnique();
+ {
+ builder.Services.AddUnique();
+ return builder;
+ }
///
/// Sets the server messenger.
///
/// The builder.
/// A function creating a server messenger.
- public static void SetServerMessenger(this IUmbracoBuilder builder, Func factory)
- => builder.Services.AddUnique(factory);
+ public static IUmbracoBuilder SetServerMessenger(this IUmbracoBuilder builder, Func factory)
+ {
+ builder.Services.AddUnique(factory);
+ return builder;
+ }
///
/// Sets the server messenger.
///
/// The builder.
/// A server messenger.
- public static void SetServerMessenger(this IUmbracoBuilder builder, IServerMessenger registrar)
- => builder.Services.AddUnique(registrar);
+ public static IUmbracoBuilder SetServerMessenger(this IUmbracoBuilder builder, IServerMessenger registrar)
+ {
+ builder.Services.AddUnique(registrar);
+ return builder;
+ }
}
}
diff --git a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Uniques.cs b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Uniques.cs
index cbbaa6a3e0..b311b1f0da 100644
--- a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Uniques.cs
+++ b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Uniques.cs
@@ -1,6 +1,5 @@
using System;
using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.DependencyInjection.Extensions;
using Umbraco.Cms.Core.DependencyInjection;
using Umbraco.Cms.Core.Dictionary;
using Umbraco.Cms.Core.IO;
@@ -21,10 +20,11 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// The type of the factory.
/// The builder.
- public static void SetCultureDictionaryFactory(this IUmbracoBuilder builder)
+ public static IUmbracoBuilder SetCultureDictionaryFactory(this IUmbracoBuilder builder)
where T : class, ICultureDictionaryFactory
{
builder.Services.AddUnique();
+ return builder;
}
///
@@ -32,9 +32,10 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// The builder.
/// A function creating a culture dictionary factory.
- public static void SetCultureDictionaryFactory(this IUmbracoBuilder builder, Func factory)
+ public static IUmbracoBuilder SetCultureDictionaryFactory(this IUmbracoBuilder builder, Func factory)
{
builder.Services.AddUnique(factory);
+ return builder;
}
///
@@ -42,9 +43,10 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// The builder.
/// A factory.
- public static void SetCultureDictionaryFactory(this IUmbracoBuilder builder, ICultureDictionaryFactory factory)
+ public static IUmbracoBuilder SetCultureDictionaryFactory(this IUmbracoBuilder builder, ICultureDictionaryFactory factory)
{
builder.Services.AddUnique(factory);
+ return builder;
}
///
@@ -52,10 +54,11 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// The type of the factory.
/// The builder.
- public static void SetPublishedContentModelFactory(this IUmbracoBuilder builder)
+ public static IUmbracoBuilder SetPublishedContentModelFactory(this IUmbracoBuilder builder)
where T : class, IPublishedModelFactory
{
builder.Services.AddUnique();
+ return builder;
}
///
@@ -63,9 +66,10 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// The builder.
/// A function creating a published content model factory.
- public static void SetPublishedContentModelFactory(this IUmbracoBuilder builder, Func factory)
+ public static IUmbracoBuilder SetPublishedContentModelFactory(this IUmbracoBuilder builder, Func factory)
{
builder.Services.AddUnique(factory);
+ return builder;
}
///
@@ -73,9 +77,10 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// The builder.
/// A published content model factory.
- public static void SetPublishedContentModelFactory(this IUmbracoBuilder builder, IPublishedModelFactory factory)
+ public static IUmbracoBuilder SetPublishedContentModelFactory(this IUmbracoBuilder builder, IPublishedModelFactory factory)
{
builder.Services.AddUnique(factory);
+ return builder;
}
///
@@ -83,10 +88,11 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// The type of the short string helper.
/// The builder.
- public static void SetShortStringHelper(this IUmbracoBuilder builder)
+ public static IUmbracoBuilder SetShortStringHelper(this IUmbracoBuilder builder)
where T : class, IShortStringHelper
{
builder.Services.AddUnique();
+ return builder;
}
///
@@ -94,9 +100,10 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// The builder.
/// A function creating a short string helper.
- public static void SetShortStringHelper(this IUmbracoBuilder builder, Func factory)
+ public static IUmbracoBuilder SetShortStringHelper(this IUmbracoBuilder builder, Func factory)
{
builder.Services.AddUnique(factory);
+ return builder;
}
///
@@ -104,9 +111,10 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// A builder.
/// A short string helper.
- public static void SetShortStringHelper(this IUmbracoBuilder builder, IShortStringHelper helper)
+ public static IUmbracoBuilder SetShortStringHelper(this IUmbracoBuilder builder, IShortStringHelper helper)
{
builder.Services.AddUnique(helper);
+ return builder;
}
///
@@ -114,19 +122,23 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// A builder.
/// Factory method to create an IFileSystem implementation used in the MediaFileManager
- public static void SetMediaFileSystem(this IUmbracoBuilder builder,
- Func filesystemFactory) => builder.Services.AddUnique(
- provider =>
- {
- IFileSystem filesystem = filesystemFactory(provider);
- // We need to use the Filesystems to create a shadow wrapper,
- // because shadow wrapper requires the IsScoped delegate from the FileSystems.
- // This is used by the scope provider when taking control of the filesystems.
- FileSystems fileSystems = provider.GetRequiredService();
- IFileSystem shadow = fileSystems.CreateShadowWrapper(filesystem, "media");
+ public static IUmbracoBuilder SetMediaFileSystem(this IUmbracoBuilder builder,
+ Func filesystemFactory)
+ {
+ builder.Services.AddUnique(
+ provider =>
+ {
+ IFileSystem filesystem = filesystemFactory(provider);
+ // We need to use the Filesystems to create a shadow wrapper,
+ // because shadow wrapper requires the IsScoped delegate from the FileSystems.
+ // This is used by the scope provider when taking control of the filesystems.
+ FileSystems fileSystems = provider.GetRequiredService();
+ IFileSystem shadow = fileSystems.CreateShadowWrapper(filesystem, "media");
- return provider.CreateInstance(shadow);
- });
+ return provider.CreateInstance(shadow);
+ });
+ return builder;
+ }
///
/// Register FileSystems with a method to configure the .
@@ -135,7 +147,7 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
/// Method that configures the .
/// Throws exception if is null.
/// Throws exception if full path can't be resolved successfully.
- public static void ConfigureFileSystems(this IUmbracoBuilder builder,
+ public static IUmbracoBuilder ConfigureFileSystems(this IUmbracoBuilder builder,
Action configure)
{
if (configure == null)
@@ -150,6 +162,7 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
configure(provider, fileSystems);
return fileSystems;
});
+ return builder;
}
///
@@ -157,10 +170,11 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// The type of the log viewer.
/// The builder.
- public static void SetLogViewer(this IUmbracoBuilder builder)
+ public static IUmbracoBuilder SetLogViewer(this IUmbracoBuilder builder)
where T : class, ILogViewer
{
builder.Services.AddUnique();
+ return builder;
}
///
@@ -168,19 +182,21 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection
///
/// The builder.
/// A function creating a log viewer.
- public static void SetLogViewer(this IUmbracoBuilder builder, Func factory)
+ public static IUmbracoBuilder SetLogViewer(this IUmbracoBuilder builder, Func factory)
{
builder.Services.AddUnique(factory);
+ return builder;
}
///
/// Sets the log viewer.
///
/// A builder.
- /// A log viewer.
- public static void SetLogViewer(this IUmbracoBuilder builder, ILogViewer viewer)
+ /// A log viewer.
+ public static IUmbracoBuilder SetLogViewer(this IUmbracoBuilder builder, ILogViewer viewer)
{
builder.Services.AddUnique(viewer);
+ return builder;
}
}
}
diff --git a/src/Umbraco.Web.Website/Extensions/WebsiteUmbracoBuilderExtensions.cs b/src/Umbraco.Web.Website/Extensions/WebsiteUmbracoBuilderExtensions.cs
index 72994992fa..65bff41a59 100644
--- a/src/Umbraco.Web.Website/Extensions/WebsiteUmbracoBuilderExtensions.cs
+++ b/src/Umbraco.Web.Website/Extensions/WebsiteUmbracoBuilderExtensions.cs
@@ -16,10 +16,11 @@ namespace Umbraco.Extensions
///
/// The type of the content last chance finder.
/// The builder.
- public static void SetContentLastChanceFinder(this IUmbracoBuilder builder)
+ public static IUmbracoBuilder SetContentLastChanceFinder(this IUmbracoBuilder builder)
where T : class, IContentLastChanceFinder
{
builder.Services.AddUnique();
+ return builder;
}
///
@@ -27,9 +28,10 @@ namespace Umbraco.Extensions
///
/// The builder.
/// A function creating a last chance finder.
- public static void SetContentLastChanceFinder(this IUmbracoBuilder builder, Func factory)
+ public static IUmbracoBuilder SetContentLastChanceFinder(this IUmbracoBuilder builder, Func factory)
{
builder.Services.AddUnique(factory);
+ return builder;
}
///
@@ -37,9 +39,10 @@ namespace Umbraco.Extensions
///
/// The builder.
/// A last chance finder.
- public static void SetContentLastChanceFinder(this IUmbracoBuilder builder, IContentLastChanceFinder finder)
+ public static IUmbracoBuilder SetContentLastChanceFinder(this IUmbracoBuilder builder, IContentLastChanceFinder finder)
{
builder.Services.AddUnique(finder);
+ return builder;
}
///
@@ -47,10 +50,11 @@ namespace Umbraco.Extensions
///
/// The type of the site domain helper.
///
- public static void SetSiteDomainHelper(this IUmbracoBuilder builder)
+ public static IUmbracoBuilder SetSiteDomainHelper(this IUmbracoBuilder builder)
where T : class, ISiteDomainMapper
{
builder.Services.AddUnique();
+ return builder;
}
///
@@ -58,9 +62,10 @@ namespace Umbraco.Extensions
///
/// The builder.
/// A function creating a helper.
- public static void SetSiteDomainHelper(this IUmbracoBuilder builder, Func factory)
+ public static IUmbracoBuilder SetSiteDomainHelper(this IUmbracoBuilder builder, Func factory)
{
builder.Services.AddUnique(factory);
+ return builder;
}
///
@@ -68,9 +73,10 @@ namespace Umbraco.Extensions
///
/// The builder.
/// A helper.
- public static void SetSiteDomainHelper(this IUmbracoBuilder builder, ISiteDomainMapper helper)
+ public static IUmbracoBuilder SetSiteDomainHelper(this IUmbracoBuilder builder, ISiteDomainMapper helper)
{
builder.Services.AddUnique(helper);
+ return builder;
}
#endregion