diff --git a/application/src/main/java/run/halo/app/plugin/extensionpoint/ExtensionGetter.java b/api/src/main/java/run/halo/app/plugin/extensionpoint/ExtensionGetter.java similarity index 91% rename from application/src/main/java/run/halo/app/plugin/extensionpoint/ExtensionGetter.java rename to api/src/main/java/run/halo/app/plugin/extensionpoint/ExtensionGetter.java index 0113ab99a3..58615ec72c 100644 --- a/application/src/main/java/run/halo/app/plugin/extensionpoint/ExtensionGetter.java +++ b/api/src/main/java/run/halo/app/plugin/extensionpoint/ExtensionGetter.java @@ -16,13 +16,13 @@ public interface ExtensionGetter { Mono getEnabledExtension(Class extensionPoint); /** - * Get the extension(s) according to the {@link ExtensionPointDefinition} queried + * Get the extension(s) according to the {@code ExtensionPointDefinition} queried * by incoming extension point class. * * @param extensionPoint extension point class * @return implementations of the corresponding extension point. * @throws IllegalArgumentException if the incoming extension point class does not have - * the {@link ExtensionPointDefinition}. + * the {@code ExtensionPointDefinition}. */ Flux getEnabledExtensions(Class extensionPoint); diff --git a/application/src/main/java/run/halo/app/plugin/SharedApplicationContextFactory.java b/application/src/main/java/run/halo/app/plugin/SharedApplicationContextFactory.java index 2840991b26..90b146114d 100644 --- a/application/src/main/java/run/halo/app/plugin/SharedApplicationContextFactory.java +++ b/application/src/main/java/run/halo/app/plugin/SharedApplicationContextFactory.java @@ -14,6 +14,7 @@ import run.halo.app.infra.ExternalUrlSupplier; import run.halo.app.notification.NotificationCenter; import run.halo.app.notification.NotificationReasonEmitter; +import run.halo.app.plugin.extensionpoint.ExtensionGetter; import run.halo.app.security.LoginHandlerEnhancer; /** @@ -66,6 +67,8 @@ public static ApplicationContext create(ApplicationContext rootContext) { .ifUnique(pluginsRootGetter -> beanFactory.registerSingleton("pluginsRootGetter", pluginsRootGetter) ); + beanFactory.registerSingleton("extensionGetter", + rootContext.getBean(ExtensionGetter.class)); // TODO add more shared instance here sharedContext.refresh();