Skip to content

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

Closed
dgault wants to merge 1 commit into
ome:mainfrom
dgault:jackson-exclude
Closed

JZarr: Add jackson.core and jackson-databind to exclsions#74
dgault wants to merge 1 commit into
ome:mainfrom
dgault:jackson-exclude

Conversation

@dgault

@dgault dgault commented Dec 14, 2023

Copy link
Copy Markdown
Member

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 jburel and sbesson December 14, 2023 16:06
jburel added a commit to jburel/openmicroscopy that referenced this pull request Dec 14, 2023

@jburel jburel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@sbesson sbesson left a comment

Copy link
Copy Markdown
Member

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
Copy Markdown
Member

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

@jburel

jburel commented Mar 18, 2024

Copy link
Copy Markdown
Member

--exclude

Exclusions in #82

@dgault

dgault commented Apr 30, 2024

Copy link
Copy Markdown
Member Author

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