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
Fix assembly of uber .jar #1
Conversation
The helloTest class is actually a JUnit test, not a native one. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This will be expanded: we want to generate an uber .jar including the available native libraries. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This assembly descriptor is designed to incorporate all of the platform-specific build projects available in the current target/nar/ directory. The result is a .jar file with the -multi-platform.jar suffix that includes all of the native libraries ready for use with the native-lib-loader aware NarSystem class. To use it, the project needs to be built from identical revisions for all platforms that need to be supported. Then, the target/nar/<artifactId>-<version>-<aol>-jni/ directories need to be accumulated on one platform and a final `mvn` run will produce the desired uber .jar file. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
I have to admit that I am still not too much of a fan of bundling the libraries... I really think the better way would be to put the different |
@ctrueden I have a hunch that you disagree and think that there is merit to producing these uber |
Now that the native-lib-loader can load native libraries from |
And it does already, because it looks anywhere in the class path, not just in the same |
👍 |
Wehelll... In Fiji, what you should do, really, is to use the lib// mechanism to distribute unpacked libraries. Remember, there are problems with
Actually, the method I recommend is to address imagej/imagej-maven-plugin#4 and then use either the |
With this topic branch, the following strategy will produce the uber .jar:
he project needs to be built from identical revisions for all
platforms that need to be supported. Then, the
directories need to be accumulated on one platform and a final
mvn
runwill produce the desired uber .jar file.