hanggrian / packaging-gradle-plugin

Start making native distributions for your JAR
http://hanggrian.com/packaging-gradle-plugin/
Apache License 2.0
19 stars 1 forks source link
gradle-plugin jar jlink jpackage linux macos windows

CircleCI Plugin Portal Java

Packaging Gradle Plugin

Gradle plugin that wraps JARs into native bundle for Windows, macOS, and Linux.

Download

Using plugins DSL:

plugins {
    id('com.hanggrian.packaging') version "$version"
}

Using legacy plugin application:

buildscript {
    repositories {
        gradlePluginPortal()
    }
    dependencies {
        classpath("com.hanggrian:packaging-gradle-plugin:$version")
    }
}

apply plugin: 'com.hanggrian.packaging'

Usage

Below are example configuration for Windows64 and MacOS distributions. Note that properties of distribution configuration may override extension configuration.

packaging {
    appName.set('Custom Directory')
    mainClass.set('com.example.App')
    modules = ['javafx.controls', 'javafx.graphics']
    modulePaths.add(new File('/path/to/javafx-sdk/lib'))
    verbose.set(true)
}

Using Application Plugin

For easier setup, also use application plugin to distribute classpath with installDist command.

apply plugin: 'application'
apply plugin: 'com.hanggrian.packaging'

application {
    applicationName = 'My App'
    mainClass.set('com.example.App')
}