diff --git a/spring-boot-project/spring-boot-liquibase/build.gradle b/spring-boot-project/spring-boot-liquibase/build.gradle index da9b55b747..e4bf38172b 100644 --- a/spring-boot-project/spring-boot-liquibase/build.gradle +++ b/spring-boot-project/spring-boot-liquibase/build.gradle @@ -3,6 +3,7 @@ plugins { id "org.springframework.boot.auto-configuration" id "org.springframework.boot.configuration-properties" id "org.springframework.boot.deployed" + id "org.springframework.boot.docker-test" id "org.springframework.boot.optional-dependencies" } @@ -17,6 +18,14 @@ dependencies { optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure")) optional(project(":spring-boot-project:spring-boot-autoconfigure")) + optional(project(":spring-boot-project:spring-boot-testcontainers")) + optional("org.testcontainers:jdbc") + + dockerTestImplementation(project(":spring-boot-project:spring-boot-test")) + dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) + dockerTestImplementation("org.testcontainers:junit-jupiter") + dockerTestImplementation("org.testcontainers:postgresql") + dockerTestRuntimeOnly("org.postgresql:postgresql") testImplementation(project(":spring-boot-project:spring-boot-test")) testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/liquibase/LiquibaseContainerConnectionDetailsFactoryTests.java b/spring-boot-project/spring-boot-liquibase/src/dockerTest/java/org/springframework/boot/liquibase/testcontainers/LiquibaseContainerConnectionDetailsFactoryTests.java similarity index 96% rename from spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/liquibase/LiquibaseContainerConnectionDetailsFactoryTests.java rename to spring-boot-project/spring-boot-liquibase/src/dockerTest/java/org/springframework/boot/liquibase/testcontainers/LiquibaseContainerConnectionDetailsFactoryTests.java index ebb8fad63d..4ddbf9b7fe 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/liquibase/LiquibaseContainerConnectionDetailsFactoryTests.java +++ b/spring-boot-project/spring-boot-liquibase/src/dockerTest/java/org/springframework/boot/liquibase/testcontainers/LiquibaseContainerConnectionDetailsFactoryTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.liquibase; +package org.springframework.boot.liquibase.testcontainers; import liquibase.integration.spring.SpringLiquibase; import org.junit.jupiter.api.Test; diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/resources/db/changelog/db.changelog-master.yaml b/spring-boot-project/spring-boot-liquibase/src/dockerTest/resources/db/changelog/db.changelog-master.yaml similarity index 100% rename from spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/resources/db/changelog/db.changelog-master.yaml rename to spring-boot-project/spring-boot-liquibase/src/dockerTest/resources/db/changelog/db.changelog-master.yaml diff --git a/spring-boot-project/spring-boot-liquibase/src/dockerTest/resources/logback-test.xml b/spring-boot-project/spring-boot-liquibase/src/dockerTest/resources/logback-test.xml new file mode 100644 index 0000000000..b8a41480d7 --- /dev/null +++ b/spring-boot-project/spring-boot-liquibase/src/dockerTest/resources/logback-test.xml @@ -0,0 +1,4 @@ + + + + diff --git a/spring-boot-project/spring-boot-liquibase/src/dockerTest/resources/spring.properties b/spring-boot-project/spring-boot-liquibase/src/dockerTest/resources/spring.properties new file mode 100644 index 0000000000..47dff33f0b --- /dev/null +++ b/spring-boot-project/spring-boot-liquibase/src/dockerTest/resources/spring.properties @@ -0,0 +1 @@ +spring.test.context.cache.maxSize=1 \ No newline at end of file diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/liquibase/LiquibaseContainerConnectionDetailsFactory.java b/spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/testcontainers/LiquibaseContainerConnectionDetailsFactory.java similarity index 96% rename from spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/liquibase/LiquibaseContainerConnectionDetailsFactory.java rename to spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/testcontainers/LiquibaseContainerConnectionDetailsFactory.java index 34838e18f0..2f65cbbdcb 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/liquibase/LiquibaseContainerConnectionDetailsFactory.java +++ b/spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/testcontainers/LiquibaseContainerConnectionDetailsFactory.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.liquibase; +package org.springframework.boot.liquibase.testcontainers; import org.testcontainers.containers.JdbcDatabaseContainer; diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/liquibase/package-info.java b/spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/testcontainers/package-info.java similarity index 89% rename from spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/liquibase/package-info.java rename to spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/testcontainers/package-info.java index 0ed0eff31e..b989affa37 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/liquibase/package-info.java +++ b/spring-boot-project/spring-boot-liquibase/src/main/java/org/springframework/boot/liquibase/testcontainers/package-info.java @@ -17,4 +17,4 @@ /** * Support for testcontainers Liquibase service connections. */ -package org.springframework.boot.testcontainers.service.connection.liquibase; +package org.springframework.boot.liquibase.testcontainers; diff --git a/spring-boot-project/spring-boot-liquibase/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-liquibase/src/main/resources/META-INF/spring.factories index b3c98aa71a..8d488964b7 100644 --- a/spring-boot-project/spring-boot-liquibase/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-liquibase/src/main/resources/META-INF/spring.factories @@ -1,3 +1,7 @@ +# Connection Details Factories +org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ +org.springframework.boot.liquibase.testcontainers.LiquibaseContainerConnectionDetailsFactory + # Failure Analyzers org.springframework.boot.diagnostics.FailureAnalyzer=\ org.springframework.boot.liquibase.LiquibaseChangelogMissingFailureAnalyzer diff --git a/spring-boot-project/spring-boot-testcontainers-all/build.gradle b/spring-boot-project/spring-boot-testcontainers-all/build.gradle index 36d3f04e3e..c1a09a9bb3 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/build.gradle +++ b/spring-boot-project/spring-boot-testcontainers-all/build.gradle @@ -13,7 +13,6 @@ dependencies { dockerTestImplementation(project(":spring-boot-project:spring-boot-jdbc")) dockerTestImplementation(project(":spring-boot-project:spring-boot-kafka")) - dockerTestImplementation(project(":spring-boot-project:spring-boot-liquibase")) dockerTestImplementation(project(":spring-boot-project:spring-boot-pulsar")) dockerTestImplementation(project(":spring-boot-project:spring-boot-r2dbc")) dockerTestImplementation(project(":spring-boot-project:spring-boot-test")) @@ -27,9 +26,6 @@ dependencies { dockerTestImplementation("org.awaitility:awaitility") dockerTestImplementation("org.junit.jupiter:junit-jupiter") dockerTestImplementation("org.junit.platform:junit-platform-launcher") - dockerTestImplementation("org.liquibase:liquibase-core") { - exclude(group: "javax.xml.bind", module: "jaxb-api") - } dockerTestImplementation("org.mockito:mockito-core") dockerTestImplementation("org.springframework:spring-core-test") dockerTestImplementation("org.springframework:spring-jdbc") @@ -50,7 +46,6 @@ dependencies { optional(project(":spring-boot-project:spring-boot-jdbc")) optional(project(":spring-boot-project:spring-boot-kafka")) optional(project(":spring-boot-project:spring-boot-ldap")) - optional(project(":spring-boot-project:spring-boot-liquibase")) optional(project(":spring-boot-project:spring-boot-mongodb")) optional(project(":spring-boot-project:spring-boot-neo4j")) optional(project(":spring-boot-project:spring-boot-pulsar")) diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-testcontainers-all/src/main/resources/META-INF/spring.factories index aafb875544..ec74efa060 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-testcontainers-all/src/main/resources/META-INF/spring.factories @@ -6,7 +6,6 @@ org.springframework.boot.testcontainers.service.connection.kafka.ConfluentKafkaC org.springframework.boot.testcontainers.service.connection.kafka.DeprecatedConfluentKafkaContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.ldap.LLdapContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.ldap.OpenLdapContainerConnectionDetailsFactory,\ -org.springframework.boot.testcontainers.service.connection.liquibase.LiquibaseContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.mongo.MongoContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.neo4j.Neo4jContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.otlp.GrafanaOpenTelemetryLoggingContainerConnectionDetailsFactory,\