diff --git a/build.gradle b/build.gradle index 35bf091..877a02f 100644 --- a/build.gradle +++ b/build.gradle @@ -17,6 +17,7 @@ repositories { maven { url "https://central.sonatype.com/repository/maven-snapshots/" } + mavenLocal() } dependencies { @@ -36,7 +37,7 @@ gradlePlugin { implementationClass = 'com.gluonhq.gradle.GluonFXPlugin' website = 'https://github.com/gluonhq/gluonfx-gradle-plugin' vcsUrl = 'https://github.com/gluonhq/gluonfx-gradle-plugin' - tags.set([ 'java', 'javafx', 'gluon', 'client', 'substrate', 'graalvm', 'aot' ]) + tags.set(['java', 'javafx', 'gluon', 'client', 'substrate', 'graalvm', 'aot']) } } } diff --git a/src/main/java/com/gluonhq/gradle/tasks/NativeRunAgentTask.java b/src/main/java/com/gluonhq/gradle/tasks/NativeRunAgentTask.java index b9ec867..adc037d 100644 --- a/src/main/java/com/gluonhq/gradle/tasks/NativeRunAgentTask.java +++ b/src/main/java/com/gluonhq/gradle/tasks/NativeRunAgentTask.java @@ -50,6 +50,10 @@ import java.util.List; import java.util.Locale; +import org.gradle.api.tasks.Internal; +import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.options.Option; + public class NativeRunAgentTask extends NativeBaseTask { private static final String AGENTLIB_NATIVE_IMAGE_AGENT_STRING = @@ -64,12 +68,24 @@ public class NativeRunAgentTask extends NativeBaseTask { private final ClientExtension clientExtension; + private List applicationArgs = new ArrayList<>(); + @Inject public NativeRunAgentTask(Project project) { super(project); clientExtension = project.getExtensions().getByType(ClientExtension.class); } + @Option(option = "args", description = "Arguments to pass to the application") + public void setApplicationArgs(List args) { + this.applicationArgs = args; + } + + @Internal + public List getApplicationArgs() { + return applicationArgs; + } + @TaskAction public void action() { getProject().getLogger().info("ClientNativeRunAgent action"); @@ -113,6 +129,11 @@ public void action() { var jvmArgs = List.of(AGENTLIB_NATIVE_IMAGE_AGENT_STRING); execTask.getJvmArgumentProviders().add(() -> jvmArgs); + // set application args + if (applicationArgs != null && !applicationArgs.isEmpty()) { + execTask.args(applicationArgs); + } + // run execTask.exec(); } catch (Exception e) {