There is modularized application http://github.com/cuba-platform/cuba-cli that can be easily bundled with jlink using Gradle:
./gradlew bundle
At the moment it bundles application with Custom JRE image on Java 10 only with JAVA installed in operating system.
In bash it is:
jlink --module-path $JAVA_HOME/jmods:modules,
--add-modules cli
--output ./build/bundle
--launcher launch=cli/Cli
How can I produce application bundles for Windows and Mac OS if I build my application on Linux? Can I just extract JDK for Windows / Mac OS somewhere and perform linking with those platform-specific JDKs?