From bf498b411c660e4f5a1b5082aaaa8c14eb5979a0 Mon Sep 17 00:00:00 2001 From: Bjarke Berg Date: Mon, 18 Dec 2023 06:58:12 +0100 Subject: [PATCH] RebuildOnStartupHandler should not inject ExamineIndexRebuilder, but only the interface (#15465) --- .../UmbracoBuilder.Examine.cs | 4 ++- .../Examine/ExamineIndexRebuilder.cs | 1 + .../Examine/RebuildOnStartupHandler.cs | 27 ++++++++++++++++--- .../UmbracoBuilderExtensions.cs | 2 +- 4 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Examine.cs b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Examine.cs index 19aa103123..4cd7df61a0 100644 --- a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Examine.cs +++ b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Examine.cs @@ -57,7 +57,9 @@ public static partial class UmbracoBuilderExtensions builder.Services.AddUnique(); builder.Services.AddUnique(); builder.Services.AddSingleton(); - builder.Services.AddSingleton(); + + builder.Services.AddSingleton(); //TODO remove in Umbraco 15. Only the interface should be in the service provider + builder.Services.AddUnique(); builder.AddNotificationHandler(); diff --git a/src/Umbraco.Infrastructure/Examine/ExamineIndexRebuilder.cs b/src/Umbraco.Infrastructure/Examine/ExamineIndexRebuilder.cs index 2a89327a33..5fe98dca0b 100644 --- a/src/Umbraco.Infrastructure/Examine/ExamineIndexRebuilder.cs +++ b/src/Umbraco.Infrastructure/Examine/ExamineIndexRebuilder.cs @@ -10,6 +10,7 @@ using Umbraco.Cms.Infrastructure.HostedServices; namespace Umbraco.Cms.Infrastructure.Examine; +[Obsolete("This will be removed in Umbraco 15. Use IIndexRebuilder instead.")] // Main reason for this is to remove it form the service container. Maybe even make this internal public class ExamineIndexRebuilder : IIndexRebuilder { private readonly IBackgroundTaskQueue _backgroundTaskQueue; diff --git a/src/Umbraco.Infrastructure/Examine/RebuildOnStartupHandler.cs b/src/Umbraco.Infrastructure/Examine/RebuildOnStartupHandler.cs index ca7bc49dee..1fb172c452 100644 --- a/src/Umbraco.Infrastructure/Examine/RebuildOnStartupHandler.cs +++ b/src/Umbraco.Infrastructure/Examine/RebuildOnStartupHandler.cs @@ -24,17 +24,38 @@ public sealed class RebuildOnStartupHandler : INotificationHandler()); builder.Services.AddUnique(testHelper.MainDom); - builder.Services.AddUnique(); + builder.Services.AddUnique(); builder.Services.AddUnique(factory => Mock.Of()); // we don't want persisted nucache files in tests