diff --git a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/AbstractGwtActionTask.java b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/AbstractGwtActionTask.java index 0d60b03..33bc931 100644 --- a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/AbstractGwtActionTask.java +++ b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/AbstractGwtActionTask.java @@ -142,6 +142,15 @@ protected void jvmArgs(Object... args) { this.jvmArgs.addAll(Arrays.asList(args)); } + public void setJvmArgs(List args) { + this.jvmArgs.clear(); + this.jvmArgs.addAll(args); + } + + public List getJvmArgs() { + return this.jvmArgs; + } + protected void argIfEnabled(Boolean condition, String arg) { if (Boolean.TRUE.equals(condition)) { args(arg); diff --git a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/AbstractGwtCompile.java b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/AbstractGwtCompile.java index f5593f4..6f1c5c1 100644 --- a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/AbstractGwtCompile.java +++ b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/AbstractGwtCompile.java @@ -16,6 +16,7 @@ package de.richsource.gradle.plugins.gwt; import java.io.File; +import java.util.List; import java.util.concurrent.Callable; import org.gradle.api.internal.IConventionAware; @@ -66,6 +67,7 @@ protected void addArgs() { argOnOff(getOverlappingSourceWarnings(), "-overlappingSourceWarnings", "-nooverlappingSourceWarnings"); argOnOff(getSaveSource(), "-saveSource", "-nosaveSource"); argIfSet("-saveSourceOutput", getSaveSourceOutput()); + jvmArgs(getJvmArgs().toArray()); } protected void configure(final GwtCompileOptions options) { @@ -411,4 +413,14 @@ public File getSaveSourceOutput() { public void setSaveSourceOutput(File saveSourceOutput) { options.setSaveSourceOutput(saveSourceOutput); } + + @Override + public void setJvmArgs(Object... args) { + options.setJvmArgs(args); + } + + @Override + public List getJvmArgs() { + return options.getJvmArgs(); + } } diff --git a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtBasePlugin.java b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtBasePlugin.java index eab3bd8..3aa7902 100644 --- a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtBasePlugin.java +++ b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtBasePlugin.java @@ -302,6 +302,12 @@ public JsInteropMode call() throws Exception { return extension.getJsInteropMode(); } }); + conventionMapping.map("jvmArgs", new Callable>() { + @Override + public List call() throws Exception { + return extension.getJvmArgs(); + } + }); }}); } diff --git a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtCompileOptions.java b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtCompileOptions.java index 69ee5f8..7c39e65 100644 --- a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtCompileOptions.java +++ b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtCompileOptions.java @@ -16,6 +16,7 @@ package de.richsource.gradle.plugins.gwt; import java.io.File; +import java.util.List; /** @@ -233,4 +234,9 @@ public interface GwtCompileOptions { * @param saveSourceOutput the saveSourceOutput to set */ void setSaveSourceOutput(File saveSourceOutput); + + List getJvmArgs(); + + void setJvmArgs(Object... args); + } \ No newline at end of file diff --git a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtPluginExtension.java b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtPluginExtension.java index 1695e77..7961b37 100644 --- a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtPluginExtension.java +++ b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/GwtPluginExtension.java @@ -55,6 +55,7 @@ public class GwtPluginExtension { private final GwtSuperDevOptions superDev = new GwtSuperDevOptionsImpl(); private final GwtCompileOptions compiler = new GwtCompileOptionsImpl(); private final GwtTestOptions test = new GwtTestOptions(); + private List jvmArgs = new ArrayList(); public List getModules() { return modules; @@ -245,4 +246,13 @@ public String getModulePathPrefix() { public void setModulePathPrefix(String modulePathPrefix) { this.modulePathPrefix = modulePathPrefix; } + + public List getJvmArgs() { + return jvmArgs; + } + + public void setJvmArgs(List jvmArgs) { + this.jvmArgs.clear(); + this.jvmArgs.addAll(jvmArgs); + } } diff --git a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/internal/GwtCompileOptionsImpl.java b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/internal/GwtCompileOptionsImpl.java index 7d00130..1a93772 100644 --- a/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/internal/GwtCompileOptionsImpl.java +++ b/gwt-gradle-plugin/src/main/java/de/richsource/gradle/plugins/gwt/internal/GwtCompileOptionsImpl.java @@ -16,6 +16,9 @@ package de.richsource.gradle.plugins.gwt.internal; import java.io.File; +import java.util.List; +import java.util.ArrayList; +import java.util.Arrays; import de.richsource.gradle.plugins.gwt.GwtCompileOptions; import de.richsource.gradle.plugins.gwt.Namespace; @@ -61,6 +64,8 @@ public class GwtCompileOptionsImpl implements GwtCompileOptions { private Boolean saveSource; private File saveSourceOutput; + private List jvmArgs = new ArrayList(); + /** {@inheritDoc} */ @Override public Integer getLocalWorkers() { @@ -361,4 +366,15 @@ public File getSaveSourceOutput() { public void setSaveSourceOutput(File saveSourceOutput) { this.saveSourceOutput = saveSourceOutput; } + + @Override + public List getJvmArgs() { + return jvmArgs; + } + + @Override + public void setJvmArgs(Object... args) { + jvmArgs.addAll(Arrays.asList(args)); + } + }