From 33ac838d26682d8725f55b3aa2fe674f7bf96b5a Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Mon, 19 May 2025 08:20:23 +0100 Subject: [PATCH] Move Liquibase endpoint auto-configuration into spring-boot-liquibase --- .../build.gradle | 4 ---- ...work.boot.autoconfigure.AutoConfiguration.imports | 1 - ...ebEndpointsAutoConfigurationIntegrationTests.java | 12 +++++------- .../spring-boot-liquibase/build.gradle | 4 ++-- .../LiquibaseEndpointAutoConfiguration.java | 4 ++-- .../endpoint/autoconfigure}/package-info.java | 4 ++-- ...work.boot.autoconfigure.AutoConfiguration.imports | 3 ++- .../LiquibaseEndpointAutoConfigurationTests.java | 2 +- 8 files changed, 14 insertions(+), 20 deletions(-) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase => spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure}/LiquibaseEndpointAutoConfiguration.java (95%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase => spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure}/package-info.java (82%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/liquibase => spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure}/LiquibaseEndpointAutoConfigurationTests.java (98%) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle b/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle index 2d095a5500..4e7fbd7cc4 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle @@ -44,7 +44,6 @@ dependencies { optional(project(":spring-boot-project:spring-boot-jetty")) optional(project(":spring-boot-project:spring-boot-jsonb")) optional(project(":spring-boot-project:spring-boot-kafka")) - optional(project(":spring-boot-project:spring-boot-liquibase")) optional(project(":spring-boot-project:spring-boot-mail")) optional(project(":spring-boot-project:spring-boot-mongodb")) optional(project(":spring-boot-project:spring-boot-quartz")) @@ -133,9 +132,6 @@ dependencies { optional("org.hibernate.validator:hibernate-validator") optional("org.influxdb:influxdb-java") optional("org.junit.platform:junit-platform-launcher") - optional("org.liquibase:liquibase-core") { - exclude group: "javax.xml.bind", module: "jaxb-api" - } optional("org.mongodb:mongodb-driver-reactivestreams") optional("org.mongodb:mongodb-driver-sync") optional("org.neo4j.driver:neo4j-java-driver") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 71919d35ba..0d5699d3a3 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -16,7 +16,6 @@ org.springframework.boot.actuate.autoconfigure.endpoint.jackson.JacksonEndpointA org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.integration.IntegrationGraphEndpointAutoConfiguration -org.springframework.boot.actuate.autoconfigure.liquibase.LiquibaseEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.logging.LogFileWebEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.logging.LoggersEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.logging.OpenTelemetryLoggingAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java index bb3ab129e2..aa1c2bc6b9 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebEndpointsAutoConfigurationIntegrationTests.java @@ -34,7 +34,6 @@ import org.springframework.boot.data.neo4j.autoconfigure.Neo4jReactiveDataAutoCo import org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration; import org.springframework.boot.data.redis.autoconfigure.RedisRepositoriesAutoConfiguration; import org.springframework.boot.data.rest.autoconfigure.RepositoryRestMvcAutoConfiguration; -import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration; import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration; import org.springframework.boot.mongodb.autoconfigure.MongoReactiveAutoConfiguration; import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner; @@ -75,12 +74,11 @@ class WebEndpointsAutoConfigurationIntegrationTests { .withPropertyValues("management.tracing.enabled=false", "management.defaults.metrics.export.enabled=false"); } - @EnableAutoConfiguration(exclude = { LiquibaseAutoConfiguration.class, CassandraAutoConfiguration.class, - CassandraDataAutoConfiguration.class, Neo4jDataAutoConfiguration.class, - Neo4jReactiveDataAutoConfiguration.class, MongoAutoConfiguration.class, MongoDataAutoConfiguration.class, - MongoReactiveAutoConfiguration.class, MongoReactiveDataAutoConfiguration.class, - RepositoryRestMvcAutoConfiguration.class, RedisAutoConfiguration.class, - RedisRepositoriesAutoConfiguration.class, BraveAutoConfiguration.class, + @EnableAutoConfiguration(exclude = { CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class, + Neo4jDataAutoConfiguration.class, Neo4jReactiveDataAutoConfiguration.class, MongoAutoConfiguration.class, + MongoDataAutoConfiguration.class, MongoReactiveAutoConfiguration.class, + MongoReactiveDataAutoConfiguration.class, RepositoryRestMvcAutoConfiguration.class, + RedisAutoConfiguration.class, RedisRepositoriesAutoConfiguration.class, BraveAutoConfiguration.class, OpenTelemetryTracingAutoConfiguration.class }) @SpringBootConfiguration static class WebEndpointTestApplication { diff --git a/spring-boot-project/spring-boot-liquibase/build.gradle b/spring-boot-project/spring-boot-liquibase/build.gradle index 56698030f1..da9b55b747 100644 --- a/spring-boot-project/spring-boot-liquibase/build.gradle +++ b/spring-boot-project/spring-boot-liquibase/build.gradle @@ -14,8 +14,8 @@ dependencies { api("org.liquibase:liquibase-core") { exclude(group: "javax.xml.bind", module: "jaxb-api") } - - optional(project(":spring-boot-project:spring-boot-actuator")) + + optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure")) optional(project(":spring-boot-project:spring-boot-autoconfigure")) testImplementation(project(":spring-boot-project:spring-boot-test")) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/LiquibaseEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure/LiquibaseEndpointAutoConfiguration.java similarity index 95% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/LiquibaseEndpointAutoConfiguration.java rename to spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure/LiquibaseEndpointAutoConfiguration.java index e42329629e..bc4880caea 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/LiquibaseEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure/LiquibaseEndpointAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.liquibase; +package org.springframework.boot.liquibase.actuate.endpoint.autoconfigure; import liquibase.integration.spring.SpringLiquibase; @@ -39,7 +39,7 @@ import org.springframework.context.annotation.Bean; * @since 2.0.0 */ @AutoConfiguration(after = LiquibaseAutoConfiguration.class) -@ConditionalOnClass({ SpringLiquibase.class, LiquibaseEndpoint.class }) +@ConditionalOnClass({ SpringLiquibase.class, LiquibaseEndpoint.class, ConditionalOnAvailableEndpoint.class }) @ConditionalOnAvailableEndpoint(LiquibaseEndpoint.class) public class LiquibaseEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/package-info.java b/spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure/package-info.java similarity index 82% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/package-info.java rename to spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure/package-info.java index 828c347ab0..28c35214d4 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/package-info.java +++ b/spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure/package-info.java @@ -15,6 +15,6 @@ */ /** - * Auto-configuration for actuator Liquibase concerns. + * Auto-configuration for Liquibase actuator endpoint. */ -package org.springframework.boot.actuate.autoconfigure.liquibase; +package org.springframework.boot.liquibase.actuate.endpoint.autoconfigure; diff --git a/spring-boot-project/spring-boot-liquibase/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-liquibase/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index be082bf5e2..173e3bbc3f 100644 --- a/spring-boot-project/spring-boot-liquibase/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-liquibase/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,2 @@ -org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration \ No newline at end of file +org.springframework.boot.liquibase.actuate.endpoint.autoconfigure.LiquibaseEndpointAutoConfiguration +org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/liquibase/LiquibaseEndpointAutoConfigurationTests.java b/spring-boot-project/spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure/LiquibaseEndpointAutoConfigurationTests.java similarity index 98% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/liquibase/LiquibaseEndpointAutoConfigurationTests.java rename to spring-boot-project/spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure/LiquibaseEndpointAutoConfigurationTests.java index 0ba900476b..455bce17cd 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/liquibase/LiquibaseEndpointAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/actuate/endpoint/autoconfigure/LiquibaseEndpointAutoConfigurationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.liquibase; +package org.springframework.boot.liquibase.actuate.endpoint.autoconfigure; import liquibase.integration.spring.SpringLiquibase; import org.junit.jupiter.api.Test;