Upgrade commons-io from 1.x to 2.6#135
Conversation
Unlike the rest of the OMERO Java components which declare commons-io:commons-io:2.6 as a dependency in build.gradle, this component still inherits the 1.x version of commons-io transitively (via Bio-Formats and its jhdf5 dependency). As we are trying to upgrade the underlying jhdf5 library, the ScriptRepoHelper class needs to be updated to be compatible with commons-io 2.x
|
Assuming everything stays green, MSTM. |
|
Retriggered the OMERO suite with this PR included and all tests are still passing which is a good sign - see https://merge-ci.openmicroscopy.org/jenkins/job/OMERO-test-integration/954/ |
|
There was an effort to remove |
|
@jburel: and you're suggesting re-activating that? or to try to replace the usage here with something else? |
|
The concern at the time, was with script/lut (ScriptRepoHelper) See ome/omero-romio#14 (comment). So I think we should reactivate and maybe use Guava equivalent instead of injecting |
| */ | ||
| public final static IOFileFilter BASE_SCRIPT_FILTER = new AndFileFilter(Arrays | ||
| .asList(new FileFilter[] { EmptyFileFilter.NOT_EMPTY, | ||
| .asList(new IOFileFilter[] { EmptyFileFilter.NOT_EMPTY, |
There was a problem hiding this comment.
The fact that all of this is in the public API is less than ideal for dropping the library.
There was a problem hiding this comment.
I assume that's a response to #135 (comment) rather than a review of these changes :)
There was a problem hiding this comment.
Yes. I just wanted to make the comment closer to the actual code.
Slightly pedanticly, I want to point there is no new injection of commons-io. commons-io 1.x was effectively a dependency used in the public API but it was declared transitively. This PR serves two purposes: at the OMERO level, declare the dependency explicitly and upgrade it to 2.x to match the other components and at the Bio-Formats level, unblock the upgrade of I have no strong opinion regarding using this library or guava. Obviously, implementing the switch would need to respect both the breaking concerns expressed in #135 (comment) as well as the timeline for Bio-Formats 6.8.0. |
|
injecting was not the correct term. |
|
With the inclusion of ome/bioformats#3745 for the upcoming Bio-Formats release, the latest development stack started failing due to the 1.x/2.x incompatibility - see https://latest-ci.openmicroscopy.org/jenkins/job/OMERO-build-build/896/. @jburel based on #135 (comment), I assume you have no objections seeing this merged to fix outstanding build issues? Or do you have an alternate mitigation plan in mind? |
|
Let's merge it. It is obviously not an urgency since the PR has been opened for a while |
|
Thanks J-M |
Unlike the rest of the OMERO Java components which declare commons-io:commons-io:2.6 as a dependency in build.gradle, this component still inherits the 1.x version of commons-io transitively (via Bio-Formats and its jhdf5 dependency).
As we are trying to upgrade the underlying jhdf5 library, the ScriptRepoHelper class needs to be updated to be compatible with commons-io 2.x
See also ome/bioformats#3745