From b460aeac292441cba64cce6c33e5b7797a371d83 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Mon, 16 Sep 2024 12:42:43 +0200 Subject: [PATCH 1/3] database-dependencies - Prepare branch --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 99fbddd1..27055de4 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.springframework.data.build spring-data-release-cli - 1.0.0.BUILD-SNAPSHOT + 1.0.0.BUILD-database-dependencies-SNAPSHOT org.springframework.boot From 37e8449b819985dfc633ea195993da40bb8df87a Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Tue, 17 Sep 2024 13:03:31 +0200 Subject: [PATCH 2/3] Versions may have more then 4 parts. --- .../java/org/springframework/data/release/model/Version.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/data/release/model/Version.java b/src/main/java/org/springframework/data/release/model/Version.java index 7d2d6060..ce244d7d 100644 --- a/src/main/java/org/springframework/data/release/model/Version.java +++ b/src/main/java/org/springframework/data/release/model/Version.java @@ -29,7 +29,7 @@ public class Version implements Comparable { private Version(BigDecimal... parts) { Assert.notNull(parts, "Parts must not be null!"); - Assert.isTrue(parts.length > 0 && parts.length < 5, "We need at least 1 at most 4 parts!"); + Assert.isTrue(parts.length > 0, "We need at least 1 part!"); this.major = parts[0]; this.minor = parts.length > 1 ? parts[1] : BigDecimal.ZERO; From 14f46d18f98ed5145166ef85bba2d4e0c4ea2e41 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Tue, 17 Sep 2024 13:01:10 +0200 Subject: [PATCH 3/3] Add database dependencies for Relational. The R2DBC dependencies are only found if they are defined in spring-data-relational, which is done by https://github.com/spring-projects/spring-data-relational/pull/1892 --- .../data/release/infra/Dependencies.java | 16 ++++++++++++++++ .../release/infra/DependencyOperations.java | 4 +++- .../data/release/infra/ProjectDependencies.java | 17 +++++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/data/release/infra/Dependencies.java b/src/main/java/org/springframework/data/release/infra/Dependencies.java index 79a4ab12..c0097a97 100644 --- a/src/main/java/org/springframework/data/release/infra/Dependencies.java +++ b/src/main/java/org/springframework/data/release/infra/Dependencies.java @@ -22,6 +22,7 @@ /** * @author Mark Paluch + * @author Jens Schauder */ public class Dependencies { @@ -134,6 +135,21 @@ public class Dependencies { public static final Dependency MAVEN = Dependency.of("Maven Wrapper", "org.apache.maven:apache-maven"); + public static final Dependency H2 = Dependency.of("H2 Database", "com.h2database:h2"); + public static final Dependency H2_R2DBC = Dependency.of("H2 R2DBC Driver", "io.r2dbc:r2dbc-h2"); + public static final Dependency HSQLDB = Dependency.of("HSQL Database", "org.hsqldb:hsqldb"); + public static final Dependency DB2_JDBC = Dependency.of("DB2 JDBC Driver", "com.ibm.db2:jcc"); + public static final Dependency MARIADB_JDBC = Dependency.of("MariaDB JDBC Driver", "org.mariadb.jdbc:mariadb-java-client"); + public static final Dependency MARIADB_R2DBC = Dependency.of("MariaDB R2DBC Driver", "rg.mariadb:r2dbc-mariadb"); + public static final Dependency MS_SQLSERVER_JDBC = Dependency.of("Microsoft SqlServer JDBC Driver", "com.microsoft.sqlserver:mssql-jdbc"); + public static final Dependency MS_SQLSERVER_R2DBC = Dependency.of("Microsoft SqlServer R2DBC Driver", "io.r2dbc:r2dbc-mssql"); + public static final Dependency MYSQL_JDBC = Dependency.of("MySql JDBC Driver", "mysql:mysql-connector-java"); + public static final Dependency MYSQL_R2DBC = Dependency.of("MySql R2DBC Driver", "io.asyncer:r2dbc-mysql"); + public static final Dependency POSTGRES_JDBC = Dependency.of("Postgres JDBC Driver", "org.postgresql:postgresql"); + public static final Dependency POSTGRES_R2DBC = Dependency.of("Postgres R2DBC Driver", "org.postgresql:r2dbc-postgresql"); + public static final Dependency ORACLE_JDBC = Dependency.of("Oracle JDBC Driver", "com.oracle.database.jdbc:ojdbc11"); + public static final Dependency ORACLE_R2DBC = Dependency.of("Oracle R2DBC Driver", "com.oracle.database.r2dbc:oracle-r2dbc"); + static { ReflectionUtils.doWithFields(Dependencies.class, field -> { diff --git a/src/main/java/org/springframework/data/release/infra/DependencyOperations.java b/src/main/java/org/springframework/data/release/infra/DependencyOperations.java index 88c5e447..d7716894 100644 --- a/src/main/java/org/springframework/data/release/infra/DependencyOperations.java +++ b/src/main/java/org/springframework/data/release/infra/DependencyOperations.java @@ -75,6 +75,7 @@ * Operations for dependency management. * * @author Mark Paluch + * @author Jens Schauder */ @Component @RequiredArgsConstructor @@ -476,7 +477,8 @@ DependencyVersions getCurrentDependencies(SupportedProject supportedProject) { Dependency dependency = projectDependency.getDependency(); if (!(project == Projects.MONGO_DB && projectDependency.getProperty().equals("mongo.reactivestreams") - || project == Projects.NEO4J || project == Projects.BUILD || project == Projects.JPA)) { + || project == Projects.NEO4J || project == Projects.BUILD || project == Projects.JPA + || project == Projects.RELATIONAL)) { if (it.getDependencyVersion(dependency.getArtifactId()) == null && it.getManagedDependency(dependency.getArtifactId()) == null) { diff --git a/src/main/java/org/springframework/data/release/infra/ProjectDependencies.java b/src/main/java/org/springframework/data/release/infra/ProjectDependencies.java index 292b093c..7725392c 100644 --- a/src/main/java/org/springframework/data/release/infra/ProjectDependencies.java +++ b/src/main/java/org/springframework/data/release/infra/ProjectDependencies.java @@ -31,6 +31,7 @@ * Configuration of dependencies for a specific project. * * @author Mark Paluch + * @author Jens Schauder */ public class ProjectDependencies implements Streamable { @@ -99,6 +100,22 @@ public class ProjectDependencies implements Streamable dependencies;