NOTE: Looking for co-maintainers - see this issue.
Using this Gradle plugin you can create custom runtime images for non-modularized applications. The plugin also lets you create an application installer with the jpackage tool.
π‘ For modularized applications use the Badass-JLink plugin.
The plugin offers several tasks, such as: runtime
, runtimeZip
, suggestModules
, or jpackage
.
It also adds an extension with the name runtime
to let you configure various aspects of its operation.
A simple example configuration is shown below:
runtime {
options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
modules = ['java.naming', 'java.xml']
}
The following projects illustrate how to use this plugin to create custom runtime images and/or platform-specific installers:
- badass-runtime-example - a 'Hello world' application using slf4j and logback.
- badass-runtime-example-javafx - a 'Hello world' JavaFX application.
- badass-runtime-example-javafx-cds - a 'Hello world' JavaFX application with Class Data Sharing.
- badass-runtime-example-kotlin-tornadofx - a 'Hello world' application written in Kotlin using tornadofx.
- badass-runtime-spring-petclinic - creates a custom runtime image of the Spring PetClinic application.
- badass-runtime-pacman - creates a custom runtime image and an application installer for the Pacman game available in the FXGLGames repository.
- bespoke-images - creates multiple executable images, each one customized for a different client.
Please read the documentation before using this plugin.
See the list of all releases if you use an older version of this plugin.