diff --git a/spring-modulith-actuator/src/main/java/org/springframework/modulith/actuator/autoconfigure/ApplicationModulesEndpointConfiguration.java b/spring-modulith-actuator/src/main/java/org/springframework/modulith/actuator/autoconfigure/ApplicationModulesEndpointConfiguration.java index 881a3c8c..a9e88099 100644 --- a/spring-modulith-actuator/src/main/java/org/springframework/modulith/actuator/autoconfigure/ApplicationModulesEndpointConfiguration.java +++ b/spring-modulith-actuator/src/main/java/org/springframework/modulith/actuator/autoconfigure/ApplicationModulesEndpointConfiguration.java @@ -25,6 +25,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.modulith.actuator.ApplicationModulesEndpoint; +import org.springframework.modulith.core.util.ApplicationModulesExporter; import org.springframework.modulith.runtime.ApplicationModulesRuntime; import org.springframework.util.function.ThrowingSupplier; @@ -36,7 +37,7 @@ import org.springframework.util.function.ThrowingSupplier; @AutoConfiguration class ApplicationModulesEndpointConfiguration { - static final String FILE_LOCATION = "META-INF/spring-modulith/application-modules.json"; + private static final String FILE_LOCATION = ApplicationModulesExporter.DEFAULT_LOCATION; private static final Resource PRECOMPUTED = new ClassPathResource(FILE_LOCATION); private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationModulesEndpointConfiguration.class); diff --git a/spring-modulith-actuator/src/main/resources/META-INF/spring/aot.factories b/spring-modulith-actuator/src/main/resources/META-INF/spring/aot.factories deleted file mode 100644 index dea082aa..00000000 --- a/spring-modulith-actuator/src/main/resources/META-INF/spring/aot.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.beans.factory.aot.BeanFactoryInitializationAotProcessor=\ - org.springframework.modulith.actuator.autoconfigure.ApplicationModulesFileGeneratingProcessor diff --git a/spring-modulith-core/src/main/java/org/springframework/modulith/core/util/ApplicationModulesExporter.java b/spring-modulith-core/src/main/java/org/springframework/modulith/core/util/ApplicationModulesExporter.java index 5e2cc9e4..af6ea004 100644 --- a/spring-modulith-core/src/main/java/org/springframework/modulith/core/util/ApplicationModulesExporter.java +++ b/spring-modulith-core/src/main/java/org/springframework/modulith/core/util/ApplicationModulesExporter.java @@ -50,6 +50,8 @@ import com.tngtech.archunit.core.domain.JavaClass; */ public class ApplicationModulesExporter { + public static final String DEFAULT_LOCATION = "META-INF/spring-modulith/application-modules.json"; + private static final Function> TO_EXPOSED_TYPES = it -> it.asJavaClasses() .map(JavaClass::getName); private static final Function, Set> REMOVE_DEFAULT_DEPENDENCY_TYPE_IF_OTHERS_PRESENT = it -> { diff --git a/spring-modulith-actuator/src/main/java/org/springframework/modulith/actuator/autoconfigure/ApplicationModulesFileGeneratingProcessor.java b/spring-modulith-runtime/src/main/java/org/springframework/modulith/runtime/autoconfigure/ApplicationModulesFileGeneratingProcessor.java similarity index 93% rename from spring-modulith-actuator/src/main/java/org/springframework/modulith/actuator/autoconfigure/ApplicationModulesFileGeneratingProcessor.java rename to spring-modulith-runtime/src/main/java/org/springframework/modulith/runtime/autoconfigure/ApplicationModulesFileGeneratingProcessor.java index e25a412d..635ddcdc 100644 --- a/spring-modulith-actuator/src/main/java/org/springframework/modulith/actuator/autoconfigure/ApplicationModulesFileGeneratingProcessor.java +++ b/spring-modulith-runtime/src/main/java/org/springframework/modulith/runtime/autoconfigure/ApplicationModulesFileGeneratingProcessor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.modulith.actuator.autoconfigure; +package org.springframework.modulith.runtime.autoconfigure; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,7 +28,7 @@ import org.springframework.modulith.runtime.ApplicationModulesRuntime; * {@value ApplicationModulesEndpointConfiguration#FILE_LOCATION}. * * @author Oliver Drotbohm - * @since 1.1 + * @since 1.4 */ class ApplicationModulesFileGeneratingProcessor implements BeanFactoryInitializationAotProcessor { @@ -45,7 +45,7 @@ class ApplicationModulesFileGeneratingProcessor implements BeanFactoryInitializa var runtime = beanFactory.getBean(ApplicationModulesRuntime.class); var exporter = new ApplicationModulesExporter(runtime.get()); - var location = ApplicationModulesEndpointConfiguration.FILE_LOCATION; + var location = ApplicationModulesExporter.DEFAULT_LOCATION; LOGGER.info("Generating application modules information to {}", location); diff --git a/spring-modulith-runtime/src/main/resources/META-INF/spring/aot.factories b/spring-modulith-runtime/src/main/resources/META-INF/spring/aot.factories new file mode 100644 index 00000000..ef1d0b93 --- /dev/null +++ b/spring-modulith-runtime/src/main/resources/META-INF/spring/aot.factories @@ -0,0 +1,2 @@ +org.springframework.beans.factory.aot.BeanFactoryInitializationAotProcessor=\ + org.springframework.modulith.runtime.autoconfigure.ApplicationModulesFileGeneratingProcessor