monero-java icon indicating copy to clipboard operation
monero-java copied to clipboard

Embed Dynamic Libraries for Different Operating System

Open buko opened this issue 5 years ago • 1 comments

It's worth investigating how one might build the dynamic library for different platforms and distribute that through Maven. Projects like lmdbjava and native platform all include significant native libraries but this is transparent to Java applications which need only declare dependencies on the Maven artifacts. Ideally, I think, there would be separate projects to build the publish the native library to Maven. Developers could use pre-built artifacts in Maven central or build their own. All these would then get sucked into the classpath by the core monero-java dependency and at runtime, depending on the OS, the right library would be loaded.

buko avatar Jun 19 '19 14:06 buko

That would be great. I welcome any outside help.

woodser avatar Jun 20 '19 21:06 woodser

There is a bounty on this issue. The amount is in the title. The reward will be awarded to the first person or group of people who resolve this issue.

If you are starting to work on this bounty, please write a comment so that we can assign the issue to you. We expect contributors to provide a PR in a reasonable timeframe or, in case of an extensive work, updates on their progress. We will unassign the issue if we feel the assignee is not responsive or has abandoned the task.

Read the full conditions and details of the bounty system.

github-actions[bot] avatar Mar 26 '24 17:03 github-actions[bot]

Bounty added to package the native libraries into the JAR which is portable across platforms.

The native libraries can be downloaded from the latest release.

woodser avatar Mar 26 '24 17:03 woodser

This issue is resolved in the latest release, so the native libraries are now distributed with the JAR file, and clients do not need to build them.

Thanks for the request almost 5 years ago! :)

woodser avatar Apr 02 '24 12:04 woodser