From the Japanese: Vending Machine.
A Java library that can:
- download Homebrew Bottles for different architecture and macOS version, along with dependencies.
- modify the Mach-O headers of
.dylib
files, so they can be included in a single folder distribution.
org.gotson.jidouhanbaiki.dylib.Dylib
expects dyld_info
and install_name_tool
to be available in the PATH
.
When building macOS apps with Conveyor, native libraries can be packaged along with the application. Conveyor will conveniently sign those libraries along with your app.
In order to include libheif
and libjxl
into Komga I needed to get hold of the native libraries, compiled for both Intel and ARM64, with the lowest possible target macOS version. Homebrew conveniently provides those binaries as Bottles.
macOS also requires that libraries use an absolute path for dependencies, for security reasons. Conveyor adds @rpath
into the main binary, which can then be used in the libraries for dependents.
Check SampleApplication.java.
The library is not available on Maven Central, but I would consider publishing if there's a need for it.