using Microsoft.Extensions.Logging;
using Umbraco.Cms.Core.Composing;
namespace Umbraco.Cms.Core.DependencyInjection;
///
/// Extension methods for
///
public static partial class UmbracoBuilderExtensions
{
///
/// Adds Umbraco composers for plugins
///
public static IUmbracoBuilder AddComposers(this IUmbracoBuilder builder)
{
IEnumerable composerTypes = builder.TypeLoader.GetTypes();
IEnumerable enableDisable =
builder.TypeLoader.GetAssemblyAttributes(typeof(EnableComposerAttribute), typeof(DisableComposerAttribute));
new ComposerGraph(builder, composerTypes, enableDisable, builder.BuilderLoggerFactory.CreateLogger()).Compose();
return builder;
}
}