critical dependency update + citrusframework/citrus-simulator fix#1418
critical dependency update + citrusframework/citrus-simulator fix#1418bbortt merged 5 commits intocitrusframework:mainfrom
Conversation
|
hm. pipeline on 81a76ac failed with same error as https://github.com/citrusframework/citrus/actions/runs/17472064447/job/49622669759?pr=1399#step:6:11387. didn't see that beforehand. |
|
@christophd I've moved the version declarations and improved the commit messages. dependency tree is as following ( [INFO] | \- org.citrusframework:citrus-openapi:jar:4.9.0-SNAPSHOT:compile
[INFO] | +- io.apicurio:apicurio-data-models:jar:1.1.33:compile
[INFO] | +- com.atlassian.oai:swagger-request-validator-core:jar:2.46.0:compile
[INFO] | | +- com.github.java-json-tools:json-schema-validator:jar:2.2.14:compile
[INFO] | | | +- com.github.java-json-tools:jackson-coreutils-equivalence:jar:1.0:compile
[INFO] | | | +- com.github.java-json-tools:json-schema-core:jar:1.2.14:compile
[INFO] | | | | +- com.github.java-json-tools:uri-template:jar:0.10:compile
[INFO] | | | | \- org.mozilla:rhino:jar:1.7.7.2:compile
[INFO] | | | +- joda-time:joda-time:jar:2.10.5:compile
[INFO] | | | +- com.googlecode.libphonenumber:libphonenumber:jar:8.11.1:compile
[INFO] | | | \- net.sf.jopt-simple:jopt-simple:jar:5.0.4:compile
[INFO] | | +- com.google.guava:guava:jar:33.5.0-jre:compile
[INFO] | | | +- com.google.guava:failureaccess:jar:1.0.3:compile
[INFO] | | | +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[INFO] | | | +- org.jspecify:jspecify:jar:1.0.0:compile
[INFO] | | | +- com.google.errorprone:error_prone_annotations:jar:2.41.0:compile
[INFO] | | | \- com.google.j2objc:j2objc-annotations:jar:3.1:compile
[INFO] | | \- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO] | +- javax.mail:javax.mail-api:jar:1.6.2:compile
[INFO] | \- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.19.2:compile
[INFO] +- org.citrusframework:citrus-mail:jar:4.9.0-SNAPSHOT:compile
[INFO] | +- org.springframework:spring-core:jar:6.2.10:compile
[INFO] | | \- org.springframework:spring-jcl:jar:6.2.10:compile
[INFO] | +- org.springframework:spring-context-support:jar:6.2.10:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.19.2:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.19.2:compile
[INFO] | | \- com.fasterxml.jackson.core:jackson-annotations:jar:2.19.2:compile
[INFO] | +- jakarta.xml.bind:jakarta.xml.bind-api:jar:4.0.2:compile
[INFO] | +- org.glassfish.jaxb:jaxb-runtime:jar:4.0.5:compile
[INFO] | | \- org.glassfish.jaxb:jaxb-core:jar:4.0.5:compile
[INFO] | | +- org.glassfish.jaxb:txw2:jar:4.0.5:compile
[INFO] | | \- com.sun.istack:istack-commons-runtime:jar:4.1.2:compile
[INFO] | +- com.icegreen:greenmail:jar:2.1.5:compile
[INFO] | | +- org.eclipse.angus:jakarta.mail:jar:2.0.4:compile
[INFO] | | \- junit:junit:jar:4.13.2:compile
[INFO] | +- jakarta.activation:jakarta.activation-api:jar:2.1.3:compile
[INFO] | +- org.eclipse.angus:angus-activation:jar:2.0.2:compile
[INFO] | +- jakarta.mail:jakarta.mail-api:jar:2.1.3:compile
[INFO] | \- org.eclipse.angus:angus-mail:jar:2.0.4:compile |
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.
|
One more thing we could try is to add this dependency and exclude the mail-api in the old version: <dependency>
<groupId>com.github.java-json-tools</groupId>
<artifactId>json-schema-validator</artifactId>
<version>2.2.14</version>
<exclusions>
<exclusion>
<groupId>com.sun.mail</groupId>
<artifactId>mailapi</artifactId>
</exclusion>
</exclusions>
</dependency> |
|
@christophd my thoughts on this: I am not sure if that is worth the "risk". I think it's smaller if only the targeted dependency is being modified. from a hierarchical point of view... if we modify only the
if we modify the
it's probably a small risk, but it exists. I wouldn't modify it. any thoughts on that? |
|
I see your point with potential risk. On the other hand including the Because of this I'd prefer to exclude it so the Citrus transitive dependency tree is clean and if needed users would have to add the mailapi again back into their Maven pom as a dependency. WDYT? |
|
I'd like to avoid brining in the old mailapi transitive dependency with Citrus as it looks like Citrus has done a bad job handling its dependencies. But the truth is |
|
we already have the new we could just remove it from the transitive dependencies of tldr; I will remove this version force. edit: I've tested it and it works. |
|
if ok for you I would squash and merge @christophd |
|
Ok, many thanks! |
|
well thank you for the brainstorming/inputs. it really helped! |
detected incompatibility in
citrus-maildependency, whenevercitrus-openapiis also available on the classpath.with this commits, citrusframework/citrus-simulator#315 is finally mergeable.
additionally fixes reported
https://github.com/advisories/GHSA-fghv-69vj-qj49.original MR: #1399.