From debb75b22860df3422449336e6328c1227100246 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 30 Jun 2025 15:15:07 +0200 Subject: [PATCH 1/4] Add options in app-image case --- .../org/gradlex/javamodule/packaging/tasks/Jpackage.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 7229f42..cfd2f94 100644 --- a/src/main/java/org/gradlex/javamodule/packaging/tasks/Jpackage.java +++ b/src/main/java/org/gradlex/javamodule/packaging/tasks/Jpackage.java @@ -204,9 +204,9 @@ public void runJpackage() throws Exception { } } else { e.args("--app-image", appImageFolder().getPath()); - } - for (String option : getOptions().get()) { - e.args(option); + for (String option : getOptions().get()) { + e.args(option); + } } }) ); @@ -272,6 +272,9 @@ private void configureJPackageArguments(ExecSpec e, Directory resourcesDir) { if (!getAddModules().get().isEmpty()) { e.args("--add-modules", String.join(",", getAddModules().get())); } + for (String option : getOptions().get()) { + e.args(option); + } if (getVerbose().get()) { e.args("--verbose"); } From 0f660e5ad42f1323b3fb270834053317ab19b28f Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 30 Jun 2025 15:33:56 +0200 Subject: [PATCH 2/4] Revert "Add options in app-image case" This reverts commit debb75b22860df3422449336e6328c1227100246. --- .../org/gradlex/javamodule/packaging/tasks/Jpackage.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) 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 cfd2f94..7229f42 100644 --- a/src/main/java/org/gradlex/javamodule/packaging/tasks/Jpackage.java +++ b/src/main/java/org/gradlex/javamodule/packaging/tasks/Jpackage.java @@ -204,9 +204,9 @@ public void runJpackage() throws Exception { } } else { e.args("--app-image", appImageFolder().getPath()); - for (String option : getOptions().get()) { - e.args(option); - } + } + for (String option : getOptions().get()) { + e.args(option); } }) ); @@ -272,9 +272,6 @@ private void configureJPackageArguments(ExecSpec e, Directory resourcesDir) { if (!getAddModules().get().isEmpty()) { e.args("--add-modules", String.join(",", getAddModules().get())); } - for (String option : getOptions().get()) { - e.args(option); - } if (getVerbose().get()) { e.args("--verbose"); } From c973ac23106441f39e4b2f8d95c0dc178bcc6c27 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 30 Jun 2025 15:34:42 +0200 Subject: [PATCH 3/4] Remove unused import --- .../javamodule/packaging/JavaModulePackagingExtension.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java b/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java index 1795804..2b812ca 100644 --- a/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java +++ b/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java @@ -21,7 +21,6 @@ import org.gradle.api.NamedDomainObjectSet; import org.gradle.api.NonNullApi; import org.gradle.api.Project; -import org.gradle.api.Task; import org.gradle.api.artifacts.Configuration; import org.gradle.api.artifacts.ConfigurationContainer; import org.gradle.api.attributes.Attribute; From a9efaeed93805124226c195635568a69a0d56eb0 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 30 Jun 2025 15:38:19 +0200 Subject: [PATCH 4/4] Add appImageOptions just for type app-image --- .../javamodule/packaging/JavaModulePackagingExtension.java | 1 + .../java/org/gradlex/javamodule/packaging/model/Target.java | 1 + .../org/gradlex/javamodule/packaging/tasks/Jpackage.java | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java b/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java index 2b812ca..3e36686 100644 --- a/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java +++ b/src/main/java/org/gradlex/javamodule/packaging/JavaModulePackagingExtension.java @@ -256,6 +256,7 @@ private void registerTargetSpecificTasks(Target target, String applicationJarTas t.getJlinkOptions().convention(getJlinkOptions()); t.getAddModules().convention(getAddModules()); t.getOptions().convention(target.getOptions()); + t.getAppImageOptions().convention(target.getAppImageOptions()); t.getPackageTypes().convention(target.getPackageTypes()); t.getSingleStepPackaging().convention(target.getSingleStepPackaging()); t.getResources().from(getResources()); diff --git a/src/main/java/org/gradlex/javamodule/packaging/model/Target.java b/src/main/java/org/gradlex/javamodule/packaging/model/Target.java index 92b7134..e491766 100644 --- a/src/main/java/org/gradlex/javamodule/packaging/model/Target.java +++ b/src/main/java/org/gradlex/javamodule/packaging/model/Target.java @@ -31,6 +31,7 @@ abstract public class Target { abstract public ListProperty getPackageTypes(); abstract public ListProperty getOptions(); + abstract public ListProperty getAppImageOptions(); abstract public ConfigurableFileCollection getTargetResources(); 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 7229f42..673ac16 100644 --- a/src/main/java/org/gradlex/javamodule/packaging/tasks/Jpackage.java +++ b/src/main/java/org/gradlex/javamodule/packaging/tasks/Jpackage.java @@ -113,6 +113,9 @@ abstract public class Jpackage extends DefaultTask { @Input abstract public ListProperty getOptions(); + @Input + abstract public ListProperty getAppImageOptions(); + @Input abstract public ListProperty getPackageTypes(); @@ -238,6 +241,9 @@ private void performAppImageStep(String jpackage, Directory resourcesDir) { getDestination().get().getAsFile().getPath() ); configureJPackageArguments(e, resourcesDir); + for (String option : getAppImageOptions().get()) { + e.args(option); + } }); }