NOTE: This is a fork of the original Badass-Runtime-Plugin that is patched to support newer Java releases and other fixes not yet available with the original plugin.
1.13.1-patch-1
- updated some dependencies, this includes the assembler so that the plugin works on newer JDK versions.
Make sure your environment is set to use JDK 11 and run ./gradlew build
.
Change the plugin ID from org.beryx.runtime
to com.dua3.gradle.runtime
in your Gradle build files.
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.