Skip to content

Commit 9a1e317

Browse files
committed
fix(deps): force mailapi v2 in citrus-openapi
detected incompatibility in `citrus-openapi` dependency, whenever `citrus-mail` is also available on the classpath. the source of the problem is the transitive dependency `com.sun.mail:mailapi`, which was present in two versions. with this commits, citrusframework/citrus-simulator#315 is finally mergeable.
1 parent 253adbf commit 9a1e317

File tree

3 files changed

+58
-13
lines changed

3 files changed

+58
-13
lines changed

connectors/citrus-openapi/pom.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,17 @@
4949
<groupId>com.atlassian.oai</groupId>
5050
<artifactId>swagger-request-validator-core</artifactId>
5151
</dependency>
52+
53+
<!--
54+
Include mail API (and API only!) so com.atlassian.oai:swagger-request-validator-core builds correctly.
55+
Note that this is a legacy dependency and should not be managed globally.
56+
-->
57+
<dependency>
58+
<groupId>javax.mail</groupId>
59+
<artifactId>javax.mail-api</artifactId>
60+
<version>1.6.2</version>
61+
</dependency>
62+
5263
<dependency>
5364
<groupId>com.fasterxml.jackson.datatype</groupId>
5465
<artifactId>jackson-datatype-jsr310</artifactId>

endpoints/citrus-mail/pom.xml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
<dependency>
4444
<groupId>org.citrusframework</groupId>
4545
<artifactId>citrus-base</artifactId>
46-
<version>${project.version}</version>
46+
<version>${project.version}</version>
4747
</dependency>
4848
<dependency>
4949
<groupId>org.citrusframework</groupId>
@@ -83,9 +83,21 @@
8383
<groupId>com.icegreen</groupId>
8484
<artifactId>greenmail</artifactId>
8585
</dependency>
86+
<dependency>
87+
<groupId>jakarta.activation</groupId>
88+
<artifactId>jakarta.activation-api</artifactId>
89+
</dependency>
90+
<dependency>
91+
<groupId>org.eclipse.angus</groupId>
92+
<artifactId>angus-activation</artifactId>
93+
</dependency>
94+
<dependency>
95+
<groupId>jakarta.mail</groupId>
96+
<artifactId>jakarta.mail-api</artifactId>
97+
</dependency>
8698
<dependency>
8799
<groupId>org.eclipse.angus</groupId>
88-
<artifactId>jakarta.mail</artifactId>
100+
<artifactId>angus-mail</artifactId>
89101
</dependency>
90102

91103
<!-- Test scoped dependencies -->

pom.xml

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@
190190
<jaxb.maven.plugin.version>3.3.0</jaxb.maven.plugin.version>
191191

192192
<activemq.artemis.version>2.42.0</activemq.artemis.version>
193+
<angus-activation.version>2.0.3</angus-activation.version>
193194
<angus-mail.version>2.0.2</angus-mail.version>
194195
<apache.ant.version>1.10.15</apache.ant.version>
195196
<apache.camel.version>4.14.0</apache.camel.version>
@@ -220,19 +221,19 @@
220221
<jackson.version>2.20.0</jackson.version>
221222
<jackson.version.short>2.20</jackson.version.short>
222223
<jackson-databind-nullable.version>0.2.6</jackson-databind-nullable.version>
223-
<jakarta.activation.api.version>2.1.3</jakarta.activation.api.version>
224-
<jakarta.activation.version>2.0.1</jakarta.activation.version>
224+
<jakarta-activation.version>2.0.1</jakarta-activation.version>
225+
<jakarta-activation-api.version>2.1.3</jakarta-activation-api.version>
225226
<jakarta.annotation-api.version>3.0.0</jakarta.annotation-api.version>
226227
<jakarta.jms-api.version>3.1.0</jakarta.jms-api.version>
227-
<jakarta.mail.version>2.0.4</jakarta.mail.version>
228+
<jakarta-mail.version>2.1.5</jakarta-mail.version>
228229
<jakarta.servlet-api.version>6.1.0</jakarta.servlet-api.version>
229230
<jakarta.validation.version>3.1.1</jakarta.validation.version>
230231
<jakarta.websocket-api.version>2.2.0</jakarta.websocket-api.version>
231232
<jakarta.xml.bind-api.version>4.0.4</jakarta.xml.bind-api.version>
232233
<jakarta.xml.soap-api.version>3.0.2</jakarta.xml.soap-api.version>
233234
<jansi.version>2.4.2</jansi.version>
234235
<javapoet.version>1.13.0</javapoet.version>
235-
<jaxb.version>4.0.5</jaxb.version>
236+
<jaxb.version>4.0.6</jaxb.version>
236237
<jetty.version>12.0.27</jetty.version>
237238
<jetty.websocket-api.version>2.0.0</jetty.websocket-api.version>
238239
<jsch.version>0.1.55</jsch.version>
@@ -248,6 +249,7 @@
248249
<kafka.version>3.9.1</kafka.version>
249250
<knative-client.version>7.4.0</knative-client.version>
250251
<log4j2.version>2.25.1</log4j2.version>
252+
<mailapi.version>2.0.2</mailapi.version>
251253
<mockito.version>5.20.0</mockito.version>
252254
<mockftpserver.version>3.2.0</mockftpserver.version>
253255
<netty.version>4.2.0.Final</netty.version>
@@ -270,7 +272,7 @@
270272
<sshd.version>2.15.0</sshd.version>
271273
<swagger.version>2.2.37</swagger.version>
272274
<swagger.parser.version>2.1.22</swagger.parser.version>
273-
<swagger-request-validator.version>2.45.1</swagger-request-validator.version>
275+
<swagger-request-validator.version>2.46.0</swagger-request-validator.version>
274276
<testcontainers.version>1.21.3</testcontainers.version>
275277
<testng.version>7.11.0</testng.version>
276278
<!-- bound to https://mvnrepository.com/artifact/io.fabric8/kubernetes-httpclient-vertx/${k8s.client.version} -->
@@ -306,12 +308,12 @@
306308
<dependency>
307309
<groupId>jakarta.activation</groupId>
308310
<artifactId>jakarta.activation-api</artifactId>
309-
<version>${jakarta.activation.api.version}</version>
311+
<version>${jakarta-activation-api.version}</version>
310312
</dependency>
311313
<dependency>
312314
<groupId>com.sun.activation</groupId>
313315
<artifactId>jakarta.activation</artifactId>
314-
<version>${jakarta.activation.version}</version>
316+
<version>${jakarta-activation.version}</version>
315317
</dependency>
316318

317319
<dependency>
@@ -719,12 +721,27 @@
719721
<artifactId>swagger-request-validator-core</artifactId>
720722
<version>${swagger-request-validator.version}</version>
721723
<exclusions>
724+
<!--
725+
force com.sun.mail:mailapi to v2 major.
726+
this causes trouble when citrus-openapi is being used with citrus-mail.
727+
greenmail already includes v2 major.
728+
this is the case in citrusframework/citrus-simulator, which won't build otherwise.
729+
-->
730+
<exclusion>
731+
<groupId>com.sun.mail</groupId>
732+
<artifactId>mailapi</artifactId>
733+
</exclusion>
722734
<exclusion>
723735
<groupId>commons-logging</groupId>
724736
<artifactId>commons-logging</artifactId>
725737
</exclusion>
726738
</exclusions>
727739
</dependency>
740+
<dependency>
741+
<groupId>com.sun.mail</groupId>
742+
<artifactId>mailapi</artifactId>
743+
<version>${mailapi.version}</version>
744+
</dependency>
728745

729746
<dependency>
730747
<groupId>org.awaitility</groupId>
@@ -861,13 +878,18 @@
861878
<version>${greenmail.version}</version>
862879
</dependency>
863880
<dependency>
864-
<groupId>org.eclipse.angus</groupId>
865-
<artifactId>jakarta.mail</artifactId>
866-
<version>${jakarta.mail.version}</version>
881+
<groupId>jakarta.mail</groupId>
882+
<artifactId>jakarta.mail-api</artifactId>
883+
<version>${jakarta-mail.version}</version>
867884
</dependency>
868885
<dependency>
869886
<groupId>org.eclipse.angus</groupId>
870887
<artifactId>angus-activation</artifactId>
888+
<version>${angus-activation.version}</version>
889+
</dependency>
890+
<dependency>
891+
<groupId>org.eclipse.angus</groupId>
892+
<artifactId>angus-mail</artifactId>
871893
<version>${angus-mail.version}</version>
872894
</dependency>
873895

@@ -1649,7 +1671,7 @@
16491671
<dependency>
16501672
<groupId>jakarta.activation</groupId>
16511673
<artifactId>jakarta.activation-api</artifactId>
1652-
<version>${jakarta.activation.api.version}</version>
1674+
<version>${jakarta-activation-api.version}</version>
16531675
</dependency>
16541676
<dependency>
16551677
<groupId>jakarta.xml.bind</groupId>

0 commit comments

Comments
 (0)