-
-
Notifications
You must be signed in to change notification settings - Fork 261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Java Binding Enhancements from Janelia #2402
Comments
It is not clear to me what the diff is between The HDF Group's low level JNI bindings and those from ETH SIS: If there are useful elements here, I would be interested to see if we can upstream these changes or move them to a distinct layer on top of the JNI wrappers. |
I am partially addressing this by incorporating The HDF Group bindings into the JavaCPP distribution of HDF5: This will provide a maven accessible copy of the THG Java bindings as well as auto-generated Java bindings under Here is a current preview of the combined JavaDoc: |
Our internal buildbot and the github CI has the three major platforms that can build java libs for hdf5/hdf4. It would be nice to create a single hdf5 and hdf4 java jar that has the native libs inside. I wonder if that would be beneficial? |
I discovered that the JavaCPP project was already doing this. For example you can download their hdf5 distribution for x86_64 Linux: The platform independent Java code exists here: I recently added the HDF5 library code to this jar. Listing of hdf5-1.14.0-1.5.9-20230308.032243-12-linux-x86_64.jar (native shared libraries)
Listing of hdf5-1.14.0-1.5.9-20230308.032243-12.jar (Java class files)
|
Additionally there are "platform" jars:
These contain pom.xml files which have dependencies in the following structure. The classifier property allows one to select a particular platform so one does not need to download files for all the platforms.
|
Is your feature request related to a problem? Please describe.
This is a tracking issue for enhancements to the Java bindings from the Janelia Research Campus of the Howard Hughes Medical Institute
Describe the solution you'd like
Improve Java Native Interface Bindings:
Improve packaging for Java:
Describe alternatives you've considered
Java Native Access allows for dynamically generated bindings:
https://github.com/java-native-access/jna
JavaCPP creates automatically generated bindings
https://github.com/bytedeco/javacpp-presets/tree/master/hdf5
Additional context
asByteBuffer
method.The text was updated successfully, but these errors were encountered: