Skip to content

Switch from cisd:jhdf5 to janelia-jhdf5 - #62

Draft
mkitti wants to merge 1 commit into
JaneliaSciComp:masterfrom
mkitti:janelia-jhdf5
Draft

mkitti wants to merge 1 commit into
JaneliaSciComp:masterfrom
mkitti:janelia-jhdf5

Conversation

@mkitti

@mkitti mkitti commented Oct 16, 2026

Copy link
Copy Markdown

What changed

  • modules/Viewer3D/pom.xml: replace ch.systems.cisd:jhdf5:14.12.0 with org.scijava:janelia-jhdf5. janelia-jhdf5 is a drop-in replacement for cisd:jhdf5 19.04.x (same ch.systemsx.cisd.hdf5.* packages) running on HDF5 2.x via javacpp-presets, and it vendors cisd:base.
  • Note this module was on the old 14.12.0 line (which still had IHDF5LegacyReader and ncsa.hdf.hdf5lib). H5JLoader.java only uses IHDF5Reader, object().hasAttribute and int64().getAttr, so no source changes were needed.

Draft status

Draft until janelia-jhdf5 is released, which needs a stable javacpp-presets 1.5.15 with HDF5 2.2.0. Until then it depends on 22.03.01-SNAPSHOT plus temporary plumbing, each part commented "remove once janelia-jhdf5 is released":

Build/test results

  • mvn -pl modules/Viewer3D -am compile (JDK 21, linux-x86_64, janelia-jhdf5 snapshot installed locally): BUILD SUCCESS. The CI workflow uses JDK 8, which was not available here, so the CI change is untested. No tests were run (the module has no H5J tests), and H5J loading was not exercised at runtime.

Open issues (need attention before merging)

  1. modules/Viewer3D/pom.xml pins org.bytedeco:javacpp:0.10 and javacpp-presets:ffmpeg:2.5.1-0.10. Because that is a direct dependency it wins over the javacpp 1.5.15-SNAPSHOT that janelia-jhdf5/hdf5 need, so HDF5 would almost certainly fail to load at runtime until the ffmpeg/javacpp stack is upgraded (or isolated) as well. I did not change this.
  2. The libraries module pulls in cisd:jhdf5:19.04.1 (and cisd:base) transitively via org.janelia.saalfeldlab:n5-hdf5:2.2.0 (through jacsstorage-clients / n5-universe). That duplicates the ch.systemsx.cisd.hdf5 classes if they share a class path with janelia-jhdf5. As these are separate NetBeans modules it may be fine, but it should be checked.

🤖 Generated with Claude Code

Replace ch.systems.cisd:jhdf5:14.12.0 in Viewer3D with
org.scijava:janelia-jhdf5 (22.03.01-SNAPSHOT for now). H5JLoader.java
compiles unchanged. Temporary plumbing (snapshot version property,
bytedeco snapshot repository, CI step that installs the janelia-jhdf5
snapshot) is to be removed once janelia-jhdf5 is released.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.

1 participant