From 31fddfaaee8a13d9026c02d19072c2cbf82231d6 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 19 May 2025 19:26:32 -0700 Subject: [PATCH] Move Flyway Docker Compose support into spring-boot-flyway --- .../src/main/resources/META-INF/spring.factories | 1 - spring-boot-project/spring-boot-flyway/build.gradle | 2 ++ ...daptingFlywayConnectionDetailsFactoryIntegrationTests.java | 2 +- .../boot/flyway/docker/compose}/flyway-compose.yaml | 0 .../compose}/JdbcAdaptingFlywayConnectionDetailsFactory.java | 2 +- .../boot/flyway/docker/compose}/package-info.java | 4 ++-- .../src/main/resources/META-INF/spring.factories | 1 + 7 files changed, 7 insertions(+), 5 deletions(-) rename spring-boot-project/{spring-boot-docker-compose-all/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/flyway => spring-boot-flyway/src/dockerTest/java/org/springframework/boot/flyway/docker/compose}/JdbcAdaptingFlywayConnectionDetailsFactoryIntegrationTests.java (95%) rename spring-boot-project/{spring-boot-docker-compose-all/src/dockerTest/resources/org/springframework/boot/docker/compose/service/connection/flyway => spring-boot-flyway/src/dockerTest/resources/org/springframework/boot/flyway/docker/compose}/flyway-compose.yaml (100%) rename spring-boot-project/{spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/flyway => spring-boot-flyway/src/main/java/org/springframework/boot/flyway/docker/compose}/JdbcAdaptingFlywayConnectionDetailsFactory.java (95%) rename spring-boot-project/{spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/flyway => spring-boot-flyway/src/main/java/org/springframework/boot/flyway/docker/compose}/package-info.java (81%) diff --git a/spring-boot-project/spring-boot-docker-compose-all/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-docker-compose-all/src/main/resources/META-INF/spring.factories index 0708f7155f..e2dc049140 100644 --- a/spring-boot-project/spring-boot-docker-compose-all/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-docker-compose-all/src/main/resources/META-INF/spring.factories @@ -1,7 +1,6 @@ # Connection Details Factories org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ org.springframework.boot.docker.compose.service.connection.clickhouse.ClickHouseR2dbcDockerComposeConnectionDetailsFactory,\ -org.springframework.boot.docker.compose.service.connection.flyway.JdbcAdaptingFlywayConnectionDetailsFactory,\ org.springframework.boot.docker.compose.service.connection.hazelcast.HazelcastDockerComposeConnectionDetailsFactory,\ org.springframework.boot.docker.compose.service.connection.ldap.LLdapDockerComposeConnectionDetailsFactory,\ org.springframework.boot.docker.compose.service.connection.ldap.OpenLdapDockerComposeConnectionDetailsFactory,\ diff --git a/spring-boot-project/spring-boot-flyway/build.gradle b/spring-boot-project/spring-boot-flyway/build.gradle index c81ff318c8..4c4633f12b 100644 --- a/spring-boot-project/spring-boot-flyway/build.gradle +++ b/spring-boot-project/spring-boot-flyway/build.gradle @@ -16,6 +16,7 @@ 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-docker-compose")) optional(project(":spring-boot-project:spring-boot-testcontainers")) optional("org.flywaydb:flyway-database-oracle") optional("org.flywaydb:flyway-database-postgresql") @@ -24,6 +25,7 @@ dependencies { dockerTestImplementation(project(":spring-boot-project:spring-boot-test")) dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) + dockerTestImplementation(testFixtures(project(":spring-boot-project:spring-boot-docker-compose"))) dockerTestImplementation("org.testcontainers:junit-jupiter") dockerTestImplementation("org.testcontainers:postgresql") dockerTestRuntimeOnly("org.postgresql:postgresql") diff --git a/spring-boot-project/spring-boot-docker-compose-all/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/flyway/JdbcAdaptingFlywayConnectionDetailsFactoryIntegrationTests.java b/spring-boot-project/spring-boot-flyway/src/dockerTest/java/org/springframework/boot/flyway/docker/compose/JdbcAdaptingFlywayConnectionDetailsFactoryIntegrationTests.java similarity index 95% rename from spring-boot-project/spring-boot-docker-compose-all/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/flyway/JdbcAdaptingFlywayConnectionDetailsFactoryIntegrationTests.java rename to spring-boot-project/spring-boot-flyway/src/dockerTest/java/org/springframework/boot/flyway/docker/compose/JdbcAdaptingFlywayConnectionDetailsFactoryIntegrationTests.java index a970136666..cad3e7d633 100644 --- a/spring-boot-project/spring-boot-docker-compose-all/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/flyway/JdbcAdaptingFlywayConnectionDetailsFactoryIntegrationTests.java +++ b/spring-boot-project/spring-boot-flyway/src/dockerTest/java/org/springframework/boot/flyway/docker/compose/JdbcAdaptingFlywayConnectionDetailsFactoryIntegrationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.docker.compose.service.connection.flyway; +package org.springframework.boot.flyway.docker.compose; import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest; import org.springframework.boot.flyway.autoconfigure.FlywayConnectionDetails; diff --git a/spring-boot-project/spring-boot-docker-compose-all/src/dockerTest/resources/org/springframework/boot/docker/compose/service/connection/flyway/flyway-compose.yaml b/spring-boot-project/spring-boot-flyway/src/dockerTest/resources/org/springframework/boot/flyway/docker/compose/flyway-compose.yaml similarity index 100% rename from spring-boot-project/spring-boot-docker-compose-all/src/dockerTest/resources/org/springframework/boot/docker/compose/service/connection/flyway/flyway-compose.yaml rename to spring-boot-project/spring-boot-flyway/src/dockerTest/resources/org/springframework/boot/flyway/docker/compose/flyway-compose.yaml diff --git a/spring-boot-project/spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/flyway/JdbcAdaptingFlywayConnectionDetailsFactory.java b/spring-boot-project/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/docker/compose/JdbcAdaptingFlywayConnectionDetailsFactory.java similarity index 95% rename from spring-boot-project/spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/flyway/JdbcAdaptingFlywayConnectionDetailsFactory.java rename to spring-boot-project/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/docker/compose/JdbcAdaptingFlywayConnectionDetailsFactory.java index f564b3cb84..19316ee06c 100644 --- a/spring-boot-project/spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/flyway/JdbcAdaptingFlywayConnectionDetailsFactory.java +++ b/spring-boot-project/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/docker/compose/JdbcAdaptingFlywayConnectionDetailsFactory.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.docker.compose.service.connection.flyway; +package org.springframework.boot.flyway.docker.compose; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory; import org.springframework.boot.flyway.autoconfigure.FlywayConnectionDetails; diff --git a/spring-boot-project/spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/flyway/package-info.java b/spring-boot-project/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/docker/compose/package-info.java similarity index 81% rename from spring-boot-project/spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/flyway/package-info.java rename to spring-boot-project/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/docker/compose/package-info.java index 35ddace85a..db82f021a9 100644 --- a/spring-boot-project/spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/flyway/package-info.java +++ b/spring-boot-project/spring-boot-flyway/src/main/java/org/springframework/boot/flyway/docker/compose/package-info.java @@ -15,6 +15,6 @@ */ /** - * Auto-configuration for Docker Compose Flyway service connections. + * Support for Docker Compose Flyway service connections. */ -package org.springframework.boot.docker.compose.service.connection.flyway; +package org.springframework.boot.flyway.docker.compose; diff --git a/spring-boot-project/spring-boot-flyway/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-flyway/src/main/resources/META-INF/spring.factories index 6470ab721f..04d0915600 100644 --- a/spring-boot-project/spring-boot-flyway/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-flyway/src/main/resources/META-INF/spring.factories @@ -1,5 +1,6 @@ # Connection Details Factories org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ +org.springframework.boot.flyway.docker.compose.JdbcAdaptingFlywayConnectionDetailsFactory,\ org.springframework.boot.flyway.testcontainers.FlywayContainerConnectionDetailsFactory # Database Initializer Detectors