ome / openmicroscopy

OME (Open Microscopy Environment) develops open-source software and data format standards for the storage and manipulation of biological light microscopy data. A joint project between universities, research establishments and industry in Europe and the USA, OME has over 20 active researchers with strong links to the microscopy community. Funded by private and public research grants, OME has been a major force on the international microscopy stage since 2000.
https://www.openmicroscopy.org/omero
GNU General Public License v2.0
200 stars 102 forks source link

Build combined #6328

Closed jburel closed 2 years ago

jburel commented 2 years ago

This PR builds openmicroscopy

An error currently occurs with Bio-Formats (SNAPSHOT). The problem is not there with the release version @dgault is looking into it

dgault commented 2 years ago

This failure looks to be caused by the fact that the ZarrReader is not being built whilst using a SNAPSHOT version and therefore it is unable to locate its underlying dependencies

jburel commented 2 years ago

The idea is to be able to build BF only and/or ZarrReader only and not create a dependency between the 2

dgault commented 2 years ago

If Ivy has a dependency for a SNAPSHOT version for ZarrReader then you are going have to build it. Using a deployed release version should be ok however.

jburel commented 2 years ago

@dgault the failure happens with the combination BF-SNAPSHOT+ ZarrReader 0.3.0 The combinations

dgault commented 2 years ago

An ome-poi PR has been opened to bump the commons-logging version which should then match across the stack. This will require a release of the poi component and formats-gpl.

The other remaining discrepancies between BF and OMERO dependencies are as follows: org.slf4j:slf4j-api:jar BF: 1.7.6 OMERO: 1.7.30

We can bump slf4j in BF to match 1.7.30 (see https://github.com/ome/bioformats/pull/3844)

org.apache.httpcomponents:httpclient:jar BF: 4.5.9 OMERO: 4.5.6

commons-codec:commons-codec:jar BF: 1.11 OMERO: 1.12

Both of these components in BF come from cdm-core:

+- ome:formats-gpl:jar:6.10.0:compile
|  +- edu.ucar:cdm-core:jar:5.3.3:compile
|  |  +- edu.ucar:httpservices:jar:5.3.3:compile
|  |  |  +- org.apache.httpcomponents:httpclient:jar:4.5.9:compile
|  |  |  |  \- commons-codec:commons-codec:jar:1.11:compile
In OMERO the ivy dependency resolution looks like: httpclient Organisation Name Revision In Configurations Asked Revision
com.google.http-client google-http-client 1.20.0 compile, runtime 4.0.1
org.openmicroscopy omero-blitz 5.5.12 default, compile, runtime, master 4.5.6
edu.ucar httpservices 5.3.3 compile, runtime 4.5.9
org.apache.calcite.avatica avatica-core 1.15.0 compile, runtime 4.5.6
org.apache.httpcomponents httpmime 4.5.6 compile, runtime 4.5.6
commons-codec Organisation Name Revision In Configurations Asked Revision
org.apache.httpcomponents httpclient 4.5.6 compile, runtime 1.12
org.apache.solr solr-core 3.1.0 compile, runtime 1.4
org.apache.calcite calcite-core 1.20.0 compile, runtime 1.12

com.fasterxml.jackson.core:jackson-annotations:jar com.fasterxml.jackson.core:jackson-core:jar com.fasterxml.jackson.core:jackson-databind:jar BF: 2.9.6 OMERO: 2.9.8

In BF these components are coming from minio:

+- org.openmicroscopy:ome-common:jar:6.0.9:compile
|  +- io.minio:minio:jar:5.0.2:compile
|  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.6:compile
|  |  +- com.fasterxml.jackson.core:jackson-core:jar:2.9.6:compile
|  |  \- com.fasterxml.jackson.core:jackson-databind:jar:2.9.6:compile
In OMERO the ivy dependency resolution looks like: jackson-core Organisation Name Revision In Configurations Asked Revision
io.minio minio 5.0.2 null, compile, runtime 2.9.6
com.fasterxml.jackson.dataformat jackson-dataformat-yaml 2.9.8 compile, runtime 2.9.8
com.fasterxml.jackson.core jackson-databind 2.9.8 compile, runtime 2.9.8
org.apache.calcite calcite-core 1.20.0 compile, runtime 2.9.8
com.esri.geometry esri-geometry-api 2.2.0 compile, runtime 2.9.8
org.apache.calcite.avatica avatica-core 1.15.0 compile, runtime 2.9.8
com.fasterxml.jackson.core jackson-databind 2.9.6 compile, runtime 2.9.6
jackson-databind Organisation Name Revision In Configurations Asked Revision
io.minio minio 5.0.2 null, compile, runtime 2.9.6
org.apache.calcite calcite-core 1.20.0 compile, runtime 2.9.8
org.apache.calcite.avatica avatica-core 1.15.0 compile, runtime 2.9.8
jackson-annotations Organisation Name Revision In Configurations Asked Revision
io.minio minio 5.0.2 null, compile, runtime 2.9.6
com.fasterxml.jackson.core jackson-databind 2.9.8 compile, runtime 2.9.8
org.apache.calcite calcite-core 1.20.0 compile, runtime 2.9.8
org.apache.calcite.avatica avatica-core 1.15.0 compile, runtime 2.9.8
com.fasterxml.jackson.core jackson-databind 2.9.6 compile, runtime 2.9.0
sbesson commented 2 years ago

As per https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.7, I think upgrading jackson-databind to 2.9.8 at least would make sense

jburel commented 2 years ago

An alternative I have considered is only to inject it as part of the GHA build since it is usually not required during a standard build since it comes via blitz/gateway.

jburel commented 2 years ago

@sbesson the last set of commits