beryx / badass-jlink-plugin

Create a custom runtime image of your modular application
https://badass-jlink-plugin.beryx.org
Apache License 2.0
386 stars 27 forks source link
gradle gradle-plugin jigsaw jlink jpackage runtime-image

PRs Welcome License Build Status

Badass JLink Plugin

NOTE: Looking for co-maintainers - see this issue.

Using this Gradle plugin you can create a custom runtime image of your modular application with minimal effort, even if it depends on automatic modules. The plugin also lets you create an application installer with the jpackage tool introduced in Java 14 (see fxgl-sliding-puzzle for a usage example).

:bulb: For non-modular applications use the Badass-Runtime plugin.

Badass-JLink exposes an extension with the name jlink to let you configure various aspects of its operation. A simple example configuration is shown below:

jlink {
    options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
    launcher{
        name = 'hello'
        jvmArgs = ['-Dlog4j.configurationFile=./log4j2.xml']
    }
}

This is a complex plugin. Please read the documentation before using it.

The following projects illustrate how to use this plugin to create custom runtime images:

See the list of all releases if you use an older version of this plugin.