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>

Reply via email to