diff --git a/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java b/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java index 2c3825b..cacf24c 100644 --- a/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java +++ b/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java @@ -36,6 +36,7 @@ import org.gradle.api.plugins.JavaApplication; import org.gradle.api.plugins.JavaPluginExtension; import org.gradle.api.plugins.jvm.JvmTestSuite; +import org.gradle.api.provider.ListProperty; import org.gradle.api.provider.Property; import org.gradle.api.tasks.JavaExec; import org.gradle.api.tasks.SourceSet; @@ -71,6 +72,7 @@ abstract public class JavaModulePackagingExtension { abstract public Property getApplicationDescription(); abstract public Property getVendor(); abstract public Property getCopyright(); + abstract public ListProperty getJlinkOptions(); abstract public DirectoryProperty getJpackageResources(); abstract public ConfigurableFileCollection getResources(); @@ -237,6 +239,7 @@ private void registerTargetSpecificTasks(Target target, String applicationJarTas t.getVendor().convention(getVendor()); t.getCopyright().convention(getCopyright()); t.getJavaOptions().convention(application.getApplicationDefaultJvmArgs()); + t.getJlinkOptions().convention(getJlinkOptions()); t.getOptions().convention(target.getOptions()); t.getPackageTypes().convention(target.getPackageTypes()); t.getResources().from(getResources()); diff --git a/src/main/java/org/gradlex/javamodule/packaging/tasks/Jpackage.java b/src/main/java/org/gradlex/javamodule/packaging/tasks/Jpackage.java index a620ddf..a7ea12f 100644 --- a/src/main/java/org/gradlex/javamodule/packaging/tasks/Jpackage.java +++ b/src/main/java/org/gradlex/javamodule/packaging/tasks/Jpackage.java @@ -99,6 +99,9 @@ abstract public class Jpackage extends DefaultTask { @Input abstract public ListProperty getJavaOptions(); + @Input + abstract public ListProperty getJlinkOptions(); + @Input abstract public ListProperty getOptions(); @@ -172,6 +175,9 @@ public void runJpackage() throws Exception { for (String javaOption : getJavaOptions().get()) { e.args("--java-options", javaOption); } + for (String javaOption : getJlinkOptions().get()) { + e.args("--jlink-options", javaOption); + } }); File appImageFolder = requireNonNull(appImageParent.getAsFile().listFiles())[0];