Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JZarr: Add jackson.core and jackson-databind to exclsions #74

Closed
wants to merge 1 commit into from

Conversation

dgault
Copy link
Member

@dgault dgault commented Dec 14, 2023

Issue was raised by a failure in https://github.com/ome/openmicroscopy/actions/runs/7209737716/job/19641326149?pr=6373

Without this PR the 2 jackson dependencies are being picked up from JZarr and are version 2.12.7:

[INFO] ome:OMEZarrReader:jar:0.4.1-SNAPSHOT
[INFO] +- ome:formats-api:jar:7.0.0:compile
[INFO] |  +- org.openmicroscopy:ome-common:jar:6.0.19:compile
[INFO] |  |  +- io.minio:minio:jar:5.0.2:compile
[INFO] |  |  |  +- com.google.http-client:google-http-client-xml:jar:1.20.0:compile
[INFO] |  |  |  |  +- com.google.http-client:google-http-client:jar:1.20.0:compile
[INFO] |  |  |  |  \- xpp3:xpp3:jar:1.1.4c:compile
[INFO] |  |  |  +- com.squareup.okhttp3:okhttp:jar:3.7.0:compile
[INFO] |  |  |  \- com.squareup.okio:okio:jar:1.12.0:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.14.2:compile
[INFO] |  |  +- com.esotericsoftware:kryo:jar:5.4.0:compile
[INFO] |  |  |  +- com.esotericsoftware:reflectasm:jar:1.11.9:compile
[INFO] |  |  |  \- com.esotericsoftware:minlog:jar:1.3.1:compile
[INFO] |  |  +- joda-time:joda-time:jar:2.12.2:compile
[INFO] |  |  \- com.google.guava:guava:jar:31.1-jre:compile
[INFO] |  |     +- com.google.guava:failureaccess:jar:1.0.1:compile
[INFO] |  |     +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[INFO] |  |     +- org.checkerframework:checker-qual:jar:3.12.0:compile
[INFO] |  |     +- com.google.errorprone:error_prone_annotations:jar:2.11.0:compile
[INFO] |  |     \- com.google.j2objc:j2objc-annotations:jar:1.3:compile
[INFO] |  +- org.openmicroscopy:ome-xml:jar:6.3.3:compile
[INFO] |  |  \- org.openmicroscopy:specification:jar:6.3.3:compile
[INFO] |  +- org.openmicroscopy:ome-codecs:jar:1.0.0:compile
[INFO] |  |  +- org.openmicroscopy:ome-jai:jar:0.1.3:compile
[INFO] |  |  \- io.airlift:aircompressor:jar:0.21:compile
[INFO] |  \- org.slf4j:slf4j-api:jar:1.7.30:compile
[INFO] +- dev.zarr:jzarr:jar:0.4.2:compile
[INFO] |  +- edu.ucar:cdm-core:jar:5.3.3:compile
[INFO] |  |  +- edu.ucar:udunits:jar:5.3.3:compile
[INFO] |  |  +- edu.ucar:httpservices:jar:5.3.3:compile
[INFO] |  |  |  +- org.apache.httpcomponents:httpclient:jar:4.5.9:compile
[INFO] |  |  |  |  +- commons-logging:commons-logging:jar:1.2:compile
[INFO] |  |  |  |  \- commons-codec:commons-codec:jar:1.11:compile
[INFO] |  |  |  \- org.apache.httpcomponents:httpmime:jar:4.5.9:compile
[INFO] |  |  +- org.jdom:jdom2:jar:2.0.6:compile
[INFO] |  |  +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO] |  |  +- com.google.protobuf:protobuf-java:jar:3.9.1:compile
[INFO] |  |  +- org.apache.httpcomponents:httpcore:jar:4.4.11:compile
[INFO] |  |  \- com.google.re2j:re2j:jar:1.3:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.12.7.1:compile
[INFO] |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.12.7:compile
[INFO] |  \- org.lasersonlab:jblosc:jar:1.0.1:compile
[INFO] |     +- junit:junit:jar:4.12:compile
[INFO] |     |  \- org.hamcrest:hamcrest-core:jar:1.3:compile
[INFO] |     \- net.java.dev.jna:jna:jar:4.2.2:compile
[INFO] +- org.mockito:mockito-inline:jar:3.7.7:test
[INFO] |  \- org.mockito:mockito-core:jar:3.7.7:test
[INFO] |     +- net.bytebuddy:byte-buddy:jar:1.10.19:test
[INFO] |     +- net.bytebuddy:byte-buddy-agent:jar:1.10.19:test
[INFO] |     \- org.objenesis:objenesis:jar:3.1:compile
[INFO] +- org.testng:testng:jar:6.10:test
[INFO] |  \- com.beust:jcommander:jar:1.48:compile
[INFO] +- xalan:serializer:jar:2.7.2:runtime
[INFO] |  \- xml-apis:xml-apis:jar:1.3.04:runtime
[INFO] \- xalan:xalan:jar:2.7.2:runtime

With this PR in place the jackson dependencies are picked up from OME-Common and are version 2.14.2

[INFO] ome:OMEZarrReader:jar:0.4.1-SNAPSHOT
[INFO] +- ome:formats-api:jar:7.0.0:compile
[INFO] |  +- org.openmicroscopy:ome-common:jar:6.0.19:compile
[INFO] |  |  +- io.minio:minio:jar:5.0.2:compile
[INFO] |  |  |  +- com.google.http-client:google-http-client-xml:jar:1.20.0:compile
[INFO] |  |  |  |  +- com.google.http-client:google-http-client:jar:1.20.0:compile
[INFO] |  |  |  |  \- xpp3:xpp3:jar:1.1.4c:compile
[INFO] |  |  |  +- com.squareup.okhttp3:okhttp:jar:3.7.0:compile
[INFO] |  |  |  \- com.squareup.okio:okio:jar:1.12.0:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.14.2:compile
[INFO] |  |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.14.2:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.14.2:compile
[INFO] |  |  +- com.esotericsoftware:kryo:jar:5.4.0:compile
[INFO] |  |  |  +- com.esotericsoftware:reflectasm:jar:1.11.9:compile
[INFO] |  |  |  \- com.esotericsoftware:minlog:jar:1.3.1:compile
[INFO] |  |  +- joda-time:joda-time:jar:2.12.2:compile
[INFO] |  |  \- com.google.guava:guava:jar:31.1-jre:compile
[INFO] |  |     +- com.google.guava:failureaccess:jar:1.0.1:compile
[INFO] |  |     +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[INFO] |  |     +- org.checkerframework:checker-qual:jar:3.12.0:compile
[INFO] |  |     +- com.google.errorprone:error_prone_annotations:jar:2.11.0:compile
[INFO] |  |     \- com.google.j2objc:j2objc-annotations:jar:1.3:compile
[INFO] |  +- org.openmicroscopy:ome-xml:jar:6.3.3:compile
[INFO] |  |  \- org.openmicroscopy:specification:jar:6.3.3:compile
[INFO] |  +- org.openmicroscopy:ome-codecs:jar:1.0.0:compile
[INFO] |  |  +- org.openmicroscopy:ome-jai:jar:0.1.3:compile
[INFO] |  |  \- io.airlift:aircompressor:jar:0.21:compile
[INFO] |  \- org.slf4j:slf4j-api:jar:1.7.30:compile
[INFO] +- dev.zarr:jzarr:jar:0.4.2:compile
[INFO] |  +- edu.ucar:cdm-core:jar:5.3.3:compile
[INFO] |  |  +- edu.ucar:udunits:jar:5.3.3:compile
[INFO] |  |  +- edu.ucar:httpservices:jar:5.3.3:compile
[INFO] |  |  |  +- org.apache.httpcomponents:httpclient:jar:4.5.9:compile
[INFO] |  |  |  |  +- commons-logging:commons-logging:jar:1.2:compile
[INFO] |  |  |  |  \- commons-codec:commons-codec:jar:1.11:compile
[INFO] |  |  |  \- org.apache.httpcomponents:httpmime:jar:4.5.9:compile
[INFO] |  |  +- org.jdom:jdom2:jar:2.0.6:compile
[INFO] |  |  +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO] |  |  +- com.google.protobuf:protobuf-java:jar:3.9.1:compile
[INFO] |  |  +- org.apache.httpcomponents:httpcore:jar:4.4.11:compile
[INFO] |  |  \- com.google.re2j:re2j:jar:1.3:compile
[INFO] |  \- org.lasersonlab:jblosc:jar:1.0.1:compile
[INFO] |     +- junit:junit:jar:4.12:compile
[INFO] |     |  \- org.hamcrest:hamcrest-core:jar:1.3:compile
[INFO] |     \- net.java.dev.jna:jna:jar:4.2.2:compile
[INFO] +- org.mockito:mockito-inline:jar:3.7.7:test
[INFO] |  \- org.mockito:mockito-core:jar:3.7.7:test
[INFO] |     +- net.bytebuddy:byte-buddy:jar:1.10.19:test
[INFO] |     +- net.bytebuddy:byte-buddy-agent:jar:1.10.19:test
[INFO] |     \- org.objenesis:objenesis:jar:3.1:compile
[INFO] +- org.testng:testng:jar:6.10:test
[INFO] |  \- com.beust:jcommander:jar:1.48:compile
[INFO] +- xalan:serializer:jar:2.7.2:runtime
[INFO] |  \- xml-apis:xml-apis:jar:1.3.04:runtime
[INFO] \- xalan:xalan:jar:2.7.2:runtime

@dgault dgault requested review from sbesson and jburel December 14, 2023 16:06
jburel added a commit to jburel/openmicroscopy that referenced this pull request Dec 14, 2023
Copy link
Member

@jburel jburel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@sbesson sbesson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes make sense and this is effectively another side-effect of Maven nearest definition dependency resolution.
The jackson-* dependencies are also declared as transitive dependencies of formats-api through ome-common and we want those to take priority as these are more recent versions.

A few thoughts:

  • an alternative strategy to the exclusion could be to explicitly declare org.openmicroscopy:ome-common as a dependency like we do in Bio-Formats but I am not opinionated on either approach
  • as a follow-up, we could propose a bump of the jackson-* dependencies in https://github.com/zarr-developers/jzarr/blob/main/pom.xml

@joshmoore
Copy link
Member

Certainly no objections from my side for the upstream bump if it helps.

@jburel
Copy link
Member

jburel commented Mar 18, 2024

--exclude

Exclusions in #82

@dgault
Copy link
Member Author

dgault commented Apr 30, 2024

Closing as superseded by #82

@dgault dgault closed this Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants