Consume jnp-hipo4 4.5 from the hipo-java package registry#1360
Open
mathieuouillon wants to merge 1 commit into
Open
Consume jnp-hipo4 4.5 from the hipo-java package registry#1360mathieuouillon wants to merge 1 commit into
mathieuouillon wants to merge 1 commit into
Conversation
jnp-hipo4 is now built and released from its own repository, code.jlab.org/hallb/clas12/hipo-java, instead of being cut from the monolithic jnp tree. Points the dependency at 4.5 from that project's package registry, which is public and needs no credentials. Two things this changes beyond the coordinate. The old clasweb artifact was a fat jar bundling exp4j, lz4 and xxhash, so the exp4j 0.4.8 pinned here to resolve the jnp-hipo/jnp-hipo4 conflict was being shadowed by a bundled copy; 4.5 publishes a plain jar and declares exp4j and lz4-java as ordinary dependencies, so that pin governs again. It also drops the classes the fat jar duplicated with jnp-hipo (matrix, ascii, readers, MigLayout) -- all still supplied by jnp-hipo, which this project already depends on, and the ones this project actually imports come from there. Verified against an unmodified development baseline: 49 modules build, 1620 source files compile, and the test suite is identical -- 14 run, 0 failures, and the same single DCReconstructionTest error, which is the absent TORUS field map and reproduces without this change. maven-enforcer's DependencyConvergence passes.
mathieuouillon
requested review from
baltzell,
c-dilks and
raffaelladevita
as code owners
July 25, 2026 14:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
jnp-hipo4is now built and released from its own repository,code.jlab.org/hallb/clas12/hipo-java,
rather than being cut from the monolithic
jnptree. This points the dependencyat 4.5 from that project's package registry.
The registry is public, so this needs no credentials or
settings.xml.Two things this changes beyond the coordinate
exp4j is governed by our pin again. The old clasweb artifact was a fat jar
bundling
exp4j,lz4andxxhash. Thenet.objecthunter:exp4j:0.4.8pinned inthe root pom — specifically to resolve the
jnp-hipo/jnp-hipo4conflict, perdocs/dependency_conflicts.md— was therefore being shadowed by a copy inside thejar. 4.5 publishes a plain jar and declares its dependencies normally:
maven-enforcer'sDependencyConvergencepasses.Fewer duplicate classes on the classpath. The fat jar also carried
org.jlab.jnp.{matrix,ascii,readers}and MigLayout, all of whichjnp-hipoalready provides — so they were present twice and classpath order decided the
winner. 4.5 drops them. Every one this project actually imports (17
org.jlab.jnp.matrix, 17org.jlab.jnp.utils.*) resolves fromjnp-hipo, whichwe already depend on.
net.miginfocom,org.jlab.jnp.asciiandorg.jlab.jnp.readershave zero imports here.No
org.jlab.jnp.hipo4class is missing in 4.5 — the API surface is complete.Verification
Compared against an unmodified
developmentbaseline, same commands:4.3-SNAPSHOT4.5)DCReconstructionTestDCReconstructionTest— same test, same causeThat error is
FileNotFoundException: TORUS map not found at ../../etc/data/magfield/Symm_torus_r2501_phi16_z251_24Apr2018.dat(the NPE is itsdownstream effect) — a field map absent from a fresh clone. It reproduces
identically without this change, which is the only reason it can be set aside.
Notes for reviewers
jnp-hipo4:4.5before 2026-07-25 09:19 UTC you may have acached fat jar from a packaging bug in the first upload (the assembly was
deployed as the main artifact). It has been corrected and re-published. Clear
~/.m2/repository/org/jlab/jnp/jnp-hipo4/4.5if the tree looks wrong; a correctmain jar is 127 classes with no
net/*packages.jnp-hipoandjnp-hipo4(org.jlab.jnp.utils.{json,file,data,…}), sincehipo-java ships its own copies. The old jar duplicated them too, so this is not
a regression — but classpath order still decides which
JsonObjectwins.Removing that overlap means hipo-java dropping
org/jlab/jnp/utilsin favour ofdepending on
jnp-hipo, which is a larger decision than this PR.