GitPedia

Badass jlink plugin

Create a custom runtime image of your modular application

From beryx·Updated June 10, 2026·View on GitHub·

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](https://docs.oracle.com/en/java/javase/21/jpackage/packaging-overview.html) tool introduced in Java 14 (see [fxgl-sliding-puzzle](https://github.com/beryx/fxgl-sliding-puzzle/blob/master/README.adoc) for a usage example). The project is written primarily in Groovy, distributed under the Apache License 2.0 license, first published in 2018. Key topics include: gradle, gradle-plugin, jigsaw, jlink, jpackage.

Latest release: v4.0.2
May 30, 2026View Changelog →

PRs Welcome
License
Build Status

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']
    includeLocales = ['en', 'de-DE']
    includeLocalesFile = file('src/packaging/locales.txt')
    launcher{
        name = 'hello'
        jvmArgs = ['-Dlog4j.configurationFile=./log4j2.xml']
    }
}

includeLocales and includeLocalesFile configure locale filtering for jlink.
Tags must be valid BCP 47 locale tags and are normalized/deduplicated by the plugin.

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.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from beryx/badass-jlink-plugin via the GitHub API.Last fetched: 6/24/2026