Skip to content

Commit b5a1efe

Browse files
authored
Move database version profiles to individual client POMs (#1640) (#1641)
* Move database version profiles to individual client POMs Relocate database-specific testing profiles from root pom.xml to individual client modules. CI now uses Maven's -pl/-am flags for targeted builds instead of profile-based module selection. This commit decentralizes the Maven profile configuration, moving it from a monolithic root POM to the individual database client modules. Some portions of this content were created with the assistance of Claude Code. * Disable fail-fast in CI matrix Otherwise, we don't get information about a particular database type * Skip MySQLTLSTest when testing MySQL 5.6 MySQL 5.6 only supports TLS 1.0/1.1 which are disabled in Java 11+ * Make MSSQLRule work with all tested MSSQL versions * Skip PostgreSQL 9 NULL type inference tests PostgreSQL 9 cannot infer types from NULL for BigDecimal, temporal types (LocalTime, OffsetTime, Temporal), and their array variants. Override these test methods to skip on PostgreSQL 9 using assumeTrue checks. * Removed empty profiles block --------- Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
1 parent fe21b54 commit b5a1efe

File tree

14 files changed

+372
-229
lines changed

14 files changed

+372
-229
lines changed

.github/workflows/ci-4.x.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,62 +5,79 @@ on:
55
jobs:
66
CI:
77
strategy:
8+
fail-fast: false
89
matrix:
910
include:
1011
- os: ubuntu-latest
1112
jdk: 8
1213
profile: 'PostgreSQL-9'
14+
module: 'vertx-pg-client'
1315
- os: ubuntu-latest
1416
jdk: 8
1517
profile: 'PostgreSQL-10'
18+
module: 'vertx-pg-client'
1619
- os: ubuntu-latest
1720
jdk: 8
1821
profile: 'PostgreSQL-11'
22+
module: 'vertx-pg-client'
1923
- os: ubuntu-latest
2024
jdk: 8
2125
profile: 'MySQL-8.0'
26+
module: 'vertx-mysql-client'
2227
- os: ubuntu-latest
2328
jdk: 8
2429
profile: 'MySQL-5.6'
30+
module: 'vertx-mysql-client'
2531
- os: ubuntu-latest
2632
jdk: 8
2733
profile: 'MySQL-5.7'
34+
module: 'vertx-mysql-client'
2835
- os: ubuntu-latest
2936
jdk: 8
3037
profile: 'MariaDB-10.4'
38+
module: 'vertx-mysql-client'
3139
- os: ubuntu-latest
3240
jdk: 8
3341
profile: 'MSSQL-2017-latest'
42+
module: 'vertx-mssql-client'
3443
- os: ubuntu-latest
3544
jdk: 8
3645
profile: 'MSSQL-2019-latest'
46+
module: 'vertx-mssql-client'
3747
- os: ubuntu-latest
3848
jdk: 8
3949
profile: 'DB2-11.5'
50+
module: 'vertx-db2-client'
4051
- os: ubuntu-latest
4152
jdk: 8
42-
profile: 'SQL-templates'
53+
module: 'vertx-sql-client-templates'
4354
- os: ubuntu-latest
4455
jdk: 25
4556
profile: 'PostgreSQL-11'
57+
module: 'vertx-pg-client'
4658
- os: ubuntu-latest
4759
jdk: 25
4860
profile: 'MySQL-5.7'
61+
module: 'vertx-mysql-client'
4962
- os: ubuntu-latest
5063
jdk: 25
5164
profile: 'MariaDB-10.4'
65+
module: 'vertx-mysql-client'
5266
- os: ubuntu-latest
5367
jdk: 25
5468
profile: 'MSSQL-2019-latest'
69+
module: 'vertx-mssql-client'
5570
- os: ubuntu-latest
5671
jdk: 25
5772
profile: 'Oracle-23'
73+
module: 'vertx-oracle-client'
5874
uses: ./.github/workflows/ci.yml
5975
with:
6076
branch: 4.x
6177
jdk: ${{ matrix.jdk }}
6278
os: ${{ matrix.os }}
6379
profile: ${{ matrix.profile }}
80+
module: ${{ matrix.module }}
6481
deploy: ${{ matrix.jdk == '8' && matrix.os == 'ubuntu-latest' }}
6582
secrets: inherit
6683
Deploy:

.github/workflows/ci-matrix-5.x.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,62 +8,79 @@ on:
88
jobs:
99
CI:
1010
strategy:
11+
fail-fast: false
1112
matrix:
1213
include:
1314
- os: ubuntu-latest
1415
jdk: 11
1516
profile: 'PostgreSQL-9'
17+
module: 'vertx-pg-client'
1618
- os: ubuntu-latest
1719
jdk: 11
1820
profile: 'PostgreSQL-10'
21+
module: 'vertx-pg-client'
1922
- os: ubuntu-latest
2023
jdk: 11
2124
profile: 'PostgreSQL-11'
25+
module: 'vertx-pg-client'
2226
- os: ubuntu-latest
2327
jdk: 11
2428
profile: 'MySQL-8.0'
29+
module: 'vertx-mysql-client'
2530
- os: ubuntu-latest
2631
jdk: 11
2732
profile: 'MySQL-5.6'
33+
module: 'vertx-mysql-client'
2834
- os: ubuntu-latest
2935
jdk: 11
3036
profile: 'MySQL-5.7'
37+
module: 'vertx-mysql-client'
3138
- os: ubuntu-latest
3239
jdk: 11
3340
profile: 'MariaDB-10.4'
41+
module: 'vertx-mysql-client'
3442
- os: ubuntu-latest
3543
jdk: 11
3644
profile: 'MSSQL-2017-latest'
45+
module: 'vertx-mssql-client'
3746
- os: ubuntu-latest
3847
jdk: 11
3948
profile: 'MSSQL-2019-latest'
49+
module: 'vertx-mssql-client'
4050
- os: ubuntu-latest
4151
jdk: 11
4252
profile: 'DB2-11.5'
53+
module: 'vertx-db2-client'
4354
- os: ubuntu-latest
4455
jdk: 11
45-
profile: 'SQL-templates'
56+
module: 'vertx-sql-client-templates'
4657
- os: ubuntu-latest
4758
jdk: 25
4859
profile: 'PostgreSQL-11'
60+
module: 'vertx-pg-client'
4961
- os: ubuntu-latest
5062
jdk: 25
5163
profile: 'MySQL-5.7'
64+
module: 'vertx-mysql-client'
5265
- os: ubuntu-latest
5366
jdk: 25
5467
profile: 'MariaDB-10.4'
68+
module: 'vertx-mysql-client'
5569
- os: ubuntu-latest
5670
jdk: 25
5771
profile: 'MSSQL-2019-latest'
72+
module: 'vertx-mssql-client'
5873
- os: ubuntu-latest
5974
jdk: 25
6075
profile: 'Oracle-23'
76+
module: 'vertx-oracle-client'
6177
uses: ./.github/workflows/ci.yml
6278
with:
6379
branch: ${{ inputs.branch }}
6480
jdk: ${{ matrix.jdk }}
6581
os: ${{ matrix.os }}
6682
profile: ${{ matrix.profile }}
83+
module: ${{ matrix.module }}
6784
deploy: ${{ matrix.jdk == '8' && matrix.os == 'ubuntu-latest' }}
6885
secrets: inherit
6986
Deploy:

.github/workflows/ci.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ on:
1313
type: string
1414
profile:
1515
type: string
16+
module:
17+
required: true
18+
type: string
1619
deploy:
1720
type: boolean
1821
jobs:
@@ -30,4 +33,6 @@ jobs:
3033
java-version: ${{ inputs.jdk }}
3134
distribution: temurin
3235
- name: Run tests
33-
run: mvn -s .github/maven-ci-settings.xml -q clean verify -B -DskipDefault -P ${{ inputs.profile }}
36+
run: |
37+
PROFILE_ARG="${{ inputs.profile && format('-P {0}', inputs.profile) || '' }}"
38+
mvn -s .github/maven-ci-settings.xml -q clean verify -B $PROFILE_ARG -pl :${{ inputs.module }} -am

pom.xml

Lines changed: 10 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -173,145 +173,14 @@
173173
</plugins>
174174
</build>
175175

176-
<profiles>
177-
<profile>
178-
<id>default</id>
179-
<activation>
180-
<property>
181-
<name>skipDefault</name>
182-
<value>!true</value>
183-
</property>
184-
</activation>
185-
<modules>
186-
<module>vertx-sql-client</module>
187-
<module>vertx-pg-client</module>
188-
<module>vertx-mysql-client</module>
189-
<module>vertx-mssql-client</module>
190-
<module>vertx-db2-client</module>
191-
<module>vertx-sql-client-templates</module>
192-
<module>vertx-oracle-client</module>
193-
</modules>
194-
</profile>
195-
<profile>
196-
<id>PostgreSQL-9</id>
197-
<properties>
198-
<embedded.postgres.version>9.6</embedded.postgres.version>
199-
</properties>
200-
<modules>
201-
<module>vertx-sql-client</module>
202-
<module>vertx-pg-client</module>
203-
</modules>
204-
</profile>
205-
<profile>
206-
<id>PostgreSQL-10</id>
207-
<properties>
208-
<embedded.postgres.version>10.6</embedded.postgres.version>
209-
</properties>
210-
<modules>
211-
<module>vertx-sql-client</module>
212-
<module>vertx-pg-client</module>
213-
</modules>
214-
</profile>
215-
<profile>
216-
<id>PostgreSQL-11</id>
217-
<properties>
218-
<embedded.postgres.version>11.5</embedded.postgres.version>
219-
</properties>
220-
<modules>
221-
<module>vertx-sql-client</module>
222-
<module>vertx-pg-client</module>
223-
</modules>
224-
</profile>
225-
<profile>
226-
<id>MySQL-8.0</id>
227-
<properties>
228-
<testing.mysql.database.server>mysql</testing.mysql.database.server>
229-
<testing.mysql.database.version>8.0</testing.mysql.database.version>
230-
</properties>
231-
<modules>
232-
<module>vertx-sql-client</module>
233-
<module>vertx-mysql-client</module>
234-
</modules>
235-
</profile>
236-
<profile>
237-
<id>MySQL-5.6</id>
238-
<properties>
239-
<testing.mysql.database.server>mysql</testing.mysql.database.server>
240-
<testing.mysql.database.version>5.6</testing.mysql.database.version>
241-
</properties>
242-
<modules>
243-
<module>vertx-sql-client</module>
244-
<module>vertx-mysql-client</module>
245-
</modules>
246-
</profile>
247-
<profile>
248-
<id>MySQL-5.7</id>
249-
<properties>
250-
<testing.mysql.database.server>mysql</testing.mysql.database.server>
251-
<testing.mysql.database.version>5.7</testing.mysql.database.version>
252-
</properties>
253-
<modules>
254-
<module>vertx-sql-client</module>
255-
<module>vertx-mysql-client</module>
256-
</modules>
257-
</profile>
258-
<profile>
259-
<id>MariaDB-10.4</id>
260-
<properties>
261-
<testing.mysql.database.server>mariadb</testing.mysql.database.server>
262-
<testing.mysql.database.version>10.4</testing.mysql.database.version>
263-
</properties>
264-
<modules>
265-
<module>vertx-sql-client</module>
266-
<module>vertx-mysql-client</module>
267-
</modules>
268-
</profile>
269-
<profile>
270-
<id>MSSQL-2017-latest</id>
271-
<properties>
272-
<mssql-container.version>2017-latest</mssql-container.version>
273-
</properties>
274-
<modules>
275-
<module>vertx-sql-client</module>
276-
<module>vertx-mssql-client</module>
277-
</modules>
278-
</profile>
279-
<profile>
280-
<id>MSSQL-2019-latest</id>
281-
<properties>
282-
<mssql-container.version>2019-latest</mssql-container.version>
283-
</properties>
284-
<modules>
285-
<module>vertx-sql-client</module>
286-
<module>vertx-mssql-client</module>
287-
</modules>
288-
</profile>
289-
<profile>
290-
<id>DB2-11.5</id>
291-
<modules>
292-
<module>vertx-sql-client</module>
293-
<module>vertx-db2-client</module>
294-
</modules>
295-
</profile>
296-
<profile>
297-
<id>SQL-templates</id>
298-
<modules>
299-
<module>vertx-sql-client</module>
300-
<module>vertx-pg-client</module>
301-
<module>vertx-mysql-client</module>
302-
<module>vertx-sql-client-templates</module>
303-
</modules>
304-
</profile>
305-
<profile>
306-
<id>Oracle-23</id>
307-
<properties>
308-
<oracle-container.version>23.3-slim-faststart</oracle-container.version>
309-
</properties>
310-
<modules>
311-
<module>vertx-sql-client</module>
312-
<module>vertx-oracle-client</module>
313-
</modules>
314-
</profile>
315-
</profiles>
176+
<modules>
177+
<module>vertx-sql-client</module>
178+
<module>vertx-pg-client</module>
179+
<module>vertx-mysql-client</module>
180+
<module>vertx-mssql-client</module>
181+
<module>vertx-db2-client</module>
182+
<module>vertx-sql-client-templates</module>
183+
<module>vertx-oracle-client</module>
184+
</modules>
316185

317-
</project>
186+
</project>

vertx-db2-client/pom.xml

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -77,25 +77,21 @@
7777
</dependencies>
7878

7979
<build>
80-
<pluginManagement>
81-
<plugins>
82-
<plugin>
83-
<artifactId>maven-surefire-plugin</artifactId>
84-
<configuration>
85-
<argLine>-Xmx1024M</argLine>
86-
<failIfNoTests>true</failIfNoTests>
87-
<trimStackTrace>false</trimStackTrace>
88-
<systemPropertyVariables>
89-
<target.dir>${project.build.directory}</target.dir>
90-
<!-- Copy of java.security that allows TLS 1.1 as the DB2 container will only accept this version
91-
(https://bugs.openjdk.java.net/browse/JDK-8258598) -->
92-
<java.security.properties>${project.basedir}/src/test/java.security</java.security.properties>
93-
</systemPropertyVariables>
94-
</configuration>
95-
</plugin>
96-
</plugins>
97-
</pluginManagement>
9880
<plugins>
81+
<plugin>
82+
<artifactId>maven-surefire-plugin</artifactId>
83+
<configuration>
84+
<argLine>-Xmx1024M</argLine>
85+
<failIfNoTests>true</failIfNoTests>
86+
<trimStackTrace>false</trimStackTrace>
87+
<systemPropertyVariables>
88+
<target.dir>${project.build.directory}</target.dir>
89+
<!-- Copy of java.security that allows TLS 1.1 as the DB2 container will only accept this version
90+
(https://bugs.openjdk.java.net/browse/JDK-8258598) -->
91+
<java.security.properties>${project.basedir}/src/test/java.security</java.security.properties>
92+
</systemPropertyVariables>
93+
</configuration>
94+
</plugin>
9995
<!--
10096
<plugin>
10197
<groupId>org.bsc.maven</groupId>

0 commit comments

Comments
 (0)