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

Upgrade Ivy to 2.5.1 #6347

Closed sbesson closed 6 months ago

sbesson commented 1 year ago

Although functional, the version of Ivy used by our build system is pretty ancient (2.4.0, December 2014). Two releases have been made since, the last ones including CVE fixes and a certain number of features. This upgrade does not attempt to fix a particular issue but rather performs a periodic upgrade of our build dependencies. Ivy 2.5.0 includes a certain number of features including the ability to consume timestamped SNAPSHOTs which can be useful in a developer workflow with decoupled components. Ivy 2.5.1 requires Java 8 as the minimal runtime version which is compatible with our Java stack. See 2.5.0 release notes and 2.5.1 release notes for more details.

In terms of testing, the nightly CI builds should remain functional with this PR included.512e09ca2d83ecfbb19fa8aefbe386eceec2dcd1 also reverts the temporary commit to ensure the build is compatible with a local Maven build of Bio-Formats. Additionally, the Java dependencies resolved by Ivy should be unchanged by the upgrade. This should can be tested by comparing the JARs included under lib/server and lib/client of the OMERO.server binary with and without this PR. For the sake of testing, comparing the checksums should be sufficient.

sbesson commented 1 year ago

From https://merge-ci.openmicroscopy.org/jenkins/job/OMERO-build/1538/console

01:48:54 /home/omero/workspace/OMERO-build/src/components/antlib/resources/lifecycle.xml:189: impossible to ivy retrieve: java.lang.RuntimeException: problem during retrieve of omero#OmeroJava-test: java.lang.RuntimeException: Multiple artifacts of the module org.testng#testng;7.5 are retrieved to the same file! Update the retrieve pattern to fix this error.
01:48:54    at org.apache.ivy.core.retrieve.RetrieveEngine.retrieve(RetrieveEngine.java:238)

looks related to this change although I don't know where it comes from. Excluding this for investigation

sbesson commented 6 months ago

Closing as the logs for the former error have now disappearing with the rotation of the OME CI. I'll re-open a new PR bumping Ivy to version 2.5.2