This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit 310de3241ba3d2d683fd4b68c2f3a4bc76ae580c Author: Andrus Adamchik <[email protected]> AuthorDate: Wed May 13 14:41:34 2026 -0400 Simplifying cross-DB driver management * put them all in every module test scope * exception - drivers that do not exist in Maven Central * deleting DB-specific Maven profiles; switching DBs happens via -DcayenneTestConnection anyways --- cayenne-ant/pom.xml | 5 - cayenne-cache-invalidation/pom.xml | 5 - cayenne-commitlog/pom.xml | 5 - cayenne-crypto/pom.xml | 5 - cayenne-gradle-plugin/pom.xml | 5 - cayenne-jcache/pom.xml | 5 - cayenne-lifecycle/pom.xml | 5 - cayenne-maven-plugin/pom.xml | 6 - pom.xml | 365 +++++++++++++++---------------------- 9 files changed, 147 insertions(+), 259 deletions(-) diff --git a/cayenne-ant/pom.xml b/cayenne-ant/pom.xml index 5fa5b84b3..10754b560 100644 --- a/cayenne-ant/pom.xml +++ b/cayenne-ant/pom.xml @@ -85,11 +85,6 @@ <artifactId>ant-testutil</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.apache.derby</groupId> - <artifactId>derby</artifactId> - <scope>test</scope> - </dependency> <dependency> <groupId>org.xmlunit</groupId> <artifactId>xmlunit-matchers</artifactId> diff --git a/cayenne-cache-invalidation/pom.xml b/cayenne-cache-invalidation/pom.xml index 0f8519ec0..0d59c33c0 100644 --- a/cayenne-cache-invalidation/pom.xml +++ b/cayenne-cache-invalidation/pom.xml @@ -49,11 +49,6 @@ <artifactId>slf4j-simple</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.hsqldb</groupId> - <artifactId>hsqldb</artifactId> - <scope>test</scope> - </dependency> <dependency> <groupId>org.apache.cayenne.build-tools</groupId> <artifactId>cayenne-test-utilities</artifactId> diff --git a/cayenne-commitlog/pom.xml b/cayenne-commitlog/pom.xml index a68c93778..d5929394c 100644 --- a/cayenne-commitlog/pom.xml +++ b/cayenne-commitlog/pom.xml @@ -67,11 +67,6 @@ <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.hsqldb</groupId> - <artifactId>hsqldb</artifactId> - <scope>test</scope> - </dependency> </dependencies> <build> diff --git a/cayenne-crypto/pom.xml b/cayenne-crypto/pom.xml index e26e5f2f2..0cf676ead 100644 --- a/cayenne-crypto/pom.xml +++ b/cayenne-crypto/pom.xml @@ -57,11 +57,6 @@ <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.hsqldb</groupId> - <artifactId>hsqldb</artifactId> - <scope>test</scope> - </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> diff --git a/cayenne-gradle-plugin/pom.xml b/cayenne-gradle-plugin/pom.xml index 4d1ea8cda..6c551976d 100644 --- a/cayenne-gradle-plugin/pom.xml +++ b/cayenne-gradle-plugin/pom.xml @@ -174,11 +174,6 @@ <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.apache.derby</groupId> - <artifactId>derby</artifactId> - <scope>test</scope> - </dependency> </dependencies> diff --git a/cayenne-jcache/pom.xml b/cayenne-jcache/pom.xml index e6c6b520e..28eda594e 100644 --- a/cayenne-jcache/pom.xml +++ b/cayenne-jcache/pom.xml @@ -63,11 +63,6 @@ <type>test-jar</type> <scope>test</scope> </dependency> - <dependency> - <groupId>org.hsqldb</groupId> - <artifactId>hsqldb</artifactId> - <scope>test</scope> - </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> diff --git a/cayenne-lifecycle/pom.xml b/cayenne-lifecycle/pom.xml index d22957af7..63f498566 100644 --- a/cayenne-lifecycle/pom.xml +++ b/cayenne-lifecycle/pom.xml @@ -50,11 +50,6 @@ <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.hsqldb</groupId> - <artifactId>hsqldb</artifactId> - <scope>test</scope> - </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> diff --git a/cayenne-maven-plugin/pom.xml b/cayenne-maven-plugin/pom.xml index 1ae83fb41..bef994590 100644 --- a/cayenne-maven-plugin/pom.xml +++ b/cayenne-maven-plugin/pom.xml @@ -115,12 +115,6 @@ <scope>test</scope> </dependency> - <dependency> - <groupId>org.apache.derby</groupId> - <artifactId>derby</artifactId> - <scope>test</scope> - </dependency> - <dependency> <groupId>org.xmlunit</groupId> <artifactId>xmlunit-matchers</artifactId> diff --git a/pom.xml b/pom.xml index 4e4015adc..94d7ff6ea 100644 --- a/pom.xml +++ b/pom.xml @@ -51,11 +51,26 @@ <logback.version>1.5.32</logback.version> <mcp-sdk.version>1.1.2</mcp-sdk.version> <mockito.version>5.23.0</mockito.version> - <mysql.connector.version>9.5.0</mysql.connector.version> <slf4j.version>2.0.17</slf4j.version> <testcontainers.version>1.21.4</testcontainers.version> <xmlunit.version>2.9.1</xmlunit.version> + <!-- JDBC driver versions --> + <derby.version>10.14.2.0</derby.version> + <frontbase.driver.version>4.1</frontbase.driver.version> + <h2.version>2.2.220</h2.version> + <hsqldb.version>2.7.4</hsqldb.version> + <ibm.db2.jcc.version>11.5.7.0</ibm.db2.jcc.version> + <ingres.driver.version>4.0.7</ingres.driver.version> + <jaybird.version>4.0.6.java8</jaybird.version> + <mariadb.connector.version>3.0.6</mariadb.connector.version> + <mssql.jdbc.version>12.10.0.jre11</mssql.jdbc.version> + <mysql.connector.version>9.5.0</mysql.connector.version> + <ojdbc.version>21.8.0.0</ojdbc.version> + <postgres.jdbc.version>42.7.2</postgres.jdbc.version> + <sqlite.jdbc.version>3.46.0.1</sqlite.jdbc.version> + <sybase.driver.version>12</sybase.driver.version> + <!-- Dependency versions (continued) --> <build-helper-maven-plugin.version>1.12</build-helper-maven-plugin.version> <ehcache.version>3.8.1</ehcache.version> @@ -437,14 +452,14 @@ <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> - <version>2.7.4</version> + <version>${hsqldb.version}</version> <scope>test</scope> </dependency> <!-- Derby 10.16 requires Java 17, Derby 10.15 requires additional dependency - derbytools --> <dependency> <groupId>org.apache.derby</groupId> <artifactId>derby</artifactId> - <version>10.14.2.0</version> + <version>${derby.version}</version> <scope>test</scope> </dependency> <dependency> @@ -453,6 +468,72 @@ <version>${mysql.connector.version}</version> <scope>test</scope> </dependency> + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + <version>${h2.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mariadb.jdbc</groupId> + <artifactId>mariadb-java-client</artifactId> + <version>${mariadb.connector.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.postgresql</groupId> + <artifactId>postgresql</artifactId> + <version>${postgres.jdbc.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.microsoft.sqlserver</groupId> + <artifactId>mssql-jdbc</artifactId> + <version>${mssql.jdbc.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.oracle.database.jdbc</groupId> + <artifactId>ojdbc11</artifactId> + <version>${ojdbc.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.ibm.db2</groupId> + <artifactId>jcc</artifactId> + <version>${ibm.db2.jcc.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.firebirdsql.jdbc</groupId> + <artifactId>jaybird-jdk18</artifactId> + <version>${jaybird.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.xerial</groupId> + <artifactId>sqlite-jdbc</artifactId> + <version>${sqlite.jdbc.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.frontbase</groupId> + <artifactId>frontbase-driver</artifactId> + <version>${frontbase.driver.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.ingres</groupId> + <artifactId>ingres-driver</artifactId> + <version>${ingres.driver.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.sybase</groupId> + <artifactId>sybase-driver</artifactId> + <version>${sybase.driver.version}</version> + <scope>test</scope> + </dependency> <dependency> <groupId>org.xmlunit</groupId> <artifactId>xmlunit-matchers</artifactId> @@ -595,6 +676,67 @@ </dependencies> </dependencyManagement> + <dependencies> + <!-- JDBC drivers from Maven Central; available on every module's test classpath. + Tests pick a backend via -DcayenneTestConnection=<value>. Non-MC drivers + (frontbase, ingres, sybase) live in profiles below. --> + <dependency> + <groupId>org.hsqldb</groupId> + <artifactId>hsqldb</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.derby</groupId> + <artifactId>derby</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.mysql</groupId> + <artifactId>mysql-connector-j</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mariadb.jdbc</groupId> + <artifactId>mariadb-java-client</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.postgresql</groupId> + <artifactId>postgresql</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.microsoft.sqlserver</groupId> + <artifactId>mssql-jdbc</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.oracle.database.jdbc</groupId> + <artifactId>ojdbc11</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.ibm.db2</groupId> + <artifactId>jcc</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.firebirdsql.jdbc</groupId> + <artifactId>jaybird-jdk18</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.xerial</groupId> + <artifactId>sqlite-jdbc</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + <repositories> <repository> <id>apache.snapshots</id> @@ -904,58 +1046,8 @@ </build> </profile> - <!-- DB profiles .. - HSQL is used if no DB profile property is set explicitly. - Also there's a separate 'hsql' profile. - --> - <profile> - <id>default-db</id> - <activation> - <property> - <name>!cayenneTestConnection</name> - </property> - </activation> - <dependencies> - <dependency> - <groupId>org.hsqldb</groupId> - <artifactId>hsqldb</artifactId> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - <profile> - <id>hsql</id> - <activation> - <property> - <name>cayenneTestConnection</name> - <value>hsql</value> - </property> - </activation> - <dependencies> - <dependency> - <groupId>org.hsqldb</groupId> - <artifactId>hsqldb</artifactId> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - <profile> - <id>firebird</id> - <activation> - <property> - <name>cayenneTestConnection</name> - <value>firebird</value> - </property> - </activation> - <dependencies> - <dependency> - <groupId>org.firebirdsql.jdbc</groupId> - <artifactId>jaybird-jdk18</artifactId> - <version>4.0.6.java8</version> - <scope>test</scope> - </dependency> - </dependencies> - </profile> + <!-- DB profiles for drivers not published to Maven Central. + Activated via -DcayenneTestConnection=<value>. --> <profile> <id>frontbase</id> <activation> @@ -968,133 +1060,6 @@ <dependency> <groupId>com.frontbase</groupId> <artifactId>frontbase-driver</artifactId> - <version>4.1</version> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - <profile> - <id>h2</id> - <activation> - <property> - <name>cayenneTestConnection</name> - <value>h2</value> - </property> - </activation> - <dependencies> - <dependency> - <groupId>com.h2database</groupId> - <artifactId>h2</artifactId> - <version>2.2.220</version> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - <profile> - <id>mysql-tc</id> - <activation> - <property> - <name>cayenneTestConnection</name> - <value>mysql-tc</value> - </property> - </activation> - <dependencies> - <dependency> - <groupId>com.mysql</groupId> - <artifactId>mysql-connector-j</artifactId> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - <profile> - <id>mariadb-tc</id> - <activation> - <property> - <name>cayenneTestConnection</name> - <value>mariadb-tc</value> - </property> - </activation> - <dependencies> - <dependency> - <groupId>org.mariadb.jdbc</groupId> - <artifactId>mariadb-java-client</artifactId> - <version>3.0.6</version> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - <profile> - <id>oracle-tc</id> - <activation> - <property> - <name>cayenneTestConnection</name> - <value>oracle-tc</value> - </property> - </activation> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>com.oracle.database.jdbc</groupId> - <artifactId>ojdbc-bom</artifactId> - <version>21.8.0.0</version> - <type>pom</type> - <scope>import</scope> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> - <dependency> - <groupId>com.oracle.database.jdbc</groupId> - <artifactId>ojdbc11</artifactId> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - <profile> - <id>postgres-tc</id> - <activation> - <property> - <name>cayenneTestConnection</name> - <value>postgres-tc</value> - </property> - </activation> - <dependencies> - <dependency> - <groupId>org.postgresql</groupId> - <artifactId>postgresql</artifactId> - <version>42.7.2</version> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - <profile> - <id>derby</id> - <activation> - <property> - <name>cayenneTestConnection</name> - <value>derby</value> - </property> - </activation> - <dependencies> - <dependency> - <groupId>org.apache.derby</groupId> - <artifactId>derby</artifactId> - </dependency> - </dependencies> - </profile> - <profile> - <id>sqlserver-tc</id> - <activation> - <property> - <name>cayenneTestConnection</name> - <value>sqlserver-tc</value> - </property> - </activation> - <dependencies> - <dependency> - <groupId>com.microsoft.sqlserver</groupId> - <artifactId>mssql-jdbc</artifactId> - <version>12.10.0.jre11</version> <scope>test</scope> </dependency> </dependencies> @@ -1111,7 +1076,6 @@ <dependency> <groupId>com.ingres</groupId> <artifactId>ingres-driver</artifactId> - <version>4.0.7</version> <scope>test</scope> </dependency> </dependencies> @@ -1128,41 +1092,6 @@ <dependency> <groupId>com.sybase</groupId> <artifactId>sybase-driver</artifactId> - <version>12</version> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - <profile> - <id>sqlite</id> - <activation> - <property> - <name>cayenneTestConnection</name> - <value>sqlite</value> - </property> - </activation> - <dependencies> - <dependency> - <groupId>org.xerial</groupId> - <artifactId>sqlite-jdbc</artifactId> - <version>3.46.0.1</version> - <scope>test</scope> - </dependency> - </dependencies> - </profile> - <profile> - <id>db2-tc</id> - <activation> - <property> - <name>cayenneTestConnection</name> - <value>db2-tc</value> - </property> - </activation> - <dependencies> - <dependency> - <groupId>com.ibm.db2</groupId> - <artifactId>jcc</artifactId> - <version>11.5.7.0</version> <scope>test</scope> </dependency> </dependencies>
