// Path: src/main/java/fr/putnami/gwt/gradle/extension/JavaOption.java
// public class JavaOption {
// 
// 	private final List<String> javaArgs = Lists.newArrayList();
// 
// 	private String maxHeapSize;
// 	private String minHeapSize;
// 	private String maxPermSize;
// 	private boolean debugJava = false;
// 	private int debugPort = 8000;
// 	private boolean debugSuspend = false;
// 
// 	public List<String> getJavaArgs() {
// 		return javaArgs;
// 	}
// 
// 	public void setJavaArgs(String... javaArgs) {
// 		this.javaArgs.addAll(Arrays.asList(javaArgs));
// 	}
// 
// 	public String getMaxHeapSize() {
// 		return maxHeapSize;
// 	}
// 
// 	public void setMaxHeapSize(String maxHeapSize) {
// 		this.maxHeapSize = maxHeapSize;
// 	}
// 
// 	public String getMinHeapSize() {
// 		return minHeapSize;
// 	}
// 
// 	public void setMinHeapSize(String minHeapSize) {
// 		this.minHeapSize = minHeapSize;
// 	}
// 
// 	public String getMaxPermSize() {
// 		return maxPermSize;
// 	}
// 
// 	public void setMaxPermSize(String maxPermSize) {
// 		this.maxPermSize = maxPermSize;
// 	}
// 
// 	public boolean isDebugJava() {
// 		return debugJava;
// 	}
// 
// 	public void setDebugJava(boolean debugJava) {
// 		this.debugJava = debugJava;
// 	}
// 
// 	public int getDebugPort() {
// 		return debugPort;
// 	}
// 
// 	public void setDebugPort(int debugPort) {
// 		this.debugPort = debugPort;
// 	}
// 
// 	public void setDebugPort(String debugPort) {
// 		this.debugPort = Integer.valueOf(debugPort);
// 	}
// 
// 	public boolean isDebugSuspend() {
// 		return debugSuspend;
// 	}
// 
// 	public void setDebugSuspend(boolean debugSuspend) {
// 		this.debugSuspend = debugSuspend;
// 	}
// 
// 	public void setDebugSuspend(String debugSuspend) {
// 		this.debugSuspend = Boolean.valueOf(debugSuspend);
// 	}
// }


import com.google.common.base.Strings;
import com.google.common.collect.Lists;
import org.gradle.internal.jvm.Jvm;
import java.io.File;
import java.nio.charset.Charset;
import java.util.List;
import fr.putnami.gwt.gradle.extension.JavaOption;
			}
		}

		if (classPaths.size() > 0) {
			sb.append(" -cp ");
			int i = 0;
			for (String classPath : classPaths) {
				if (!Strings.isNullOrEmpty(classPath.trim())) {
					if (i > 0) {
						sb.append(System.getProperty("path.separator"));
					}
					sb.append(classPath.trim());
					i++;
				}
			}
		}

		sb.append(" ");
		sb.append(mainClass);

		for (String arg : args) {
			if (!Strings.isNullOrEmpty(arg)) {
				sb.append(" ");
				sb.append(arg);
			}
		}

		return sb.toString();
	}

// Path: src/main/java/fr/putnami/gwt/gradle/extension/JavaOption.java
// public class JavaOption {
// 
// 	private final List<String> javaArgs = Lists.newArrayList();
// 
// 	private String maxHeapSize;
// 	private String minHeapSize;
// 	private String maxPermSize;
// 	private boolean debugJava = false;
// 	private int debugPort = 8000;
// 	private boolean debugSuspend = false;
// 
// 	public List<String> getJavaArgs() {
// 		return javaArgs;
// 	}
// 
// 	public void setJavaArgs(String... javaArgs) {
// 		this.javaArgs.addAll(Arrays.asList(javaArgs));
// 	}
// 
// 	public String getMaxHeapSize() {
// 		return maxHeapSize;
// 	}
// 
// 	public void setMaxHeapSize(String maxHeapSize) {
// 		this.maxHeapSize = maxHeapSize;
// 	}
// 
// 	public String getMinHeapSize() {
// 		return minHeapSize;
// 	}
// 
// 	public void setMinHeapSize(String minHeapSize) {
// 		this.minHeapSize = minHeapSize;
// 	}
// 
// 	public String getMaxPermSize() {
// 		return maxPermSize;
// 	}
// 
// 	public void setMaxPermSize(String maxPermSize) {
// 		this.maxPermSize = maxPermSize;
// 	}
// 
// 	public boolean isDebugJava() {
// 		return debugJava;
// 	}
// 
// 	public void setDebugJava(boolean debugJava) {
// 		this.debugJava = debugJava;
// 	}
// 
// 	public int getDebugPort() {
// 		return debugPort;
// 	}
// 
// 	public void setDebugPort(int debugPort) {
// 		this.debugPort = debugPort;
// 	}
// 
// 	public void setDebugPort(String debugPort) {
// 		this.debugPort = Integer.valueOf(debugPort);
// 	}
// 
// 	public boolean isDebugSuspend() {
// 		return debugSuspend;
// 	}
// 
// 	public void setDebugSuspend(boolean debugSuspend) {
// 		this.debugSuspend = debugSuspend;
// 	}
// 
// 	public void setDebugSuspend(String debugSuspend) {
// 		this.debugSuspend = Boolean.valueOf(debugSuspend);
// 	}
// }


// Path: src/main/java/fr/putnami/gwt/gradle/helper/JavaCommandBuilder.java
import com.google.common.base.Strings;
import com.google.common.collect.Lists;
import org.gradle.internal.jvm.Jvm;
import java.io.File;
import java.nio.charset.Charset;
import java.util.List;
import fr.putnami.gwt.gradle.extension.JavaOption;

			}
		}

		if (classPaths.size() > 0) {
			sb.append(" -cp ");
			int i = 0;
			for (String classPath : classPaths) {
				if (!Strings.isNullOrEmpty(classPath.trim())) {
					if (i > 0) {
						sb.append(System.getProperty("path.separator"));
					}
					sb.append(classPath.trim());
					i++;
				}
			}
		}

		sb.append(" ");
		sb.append(mainClass);

		for (String arg : args) {
			if (!Strings.isNullOrEmpty(arg)) {
				sb.append(" ");
				sb.append(arg);
			}
		}

		return sb.toString();
	}

	public void configureJavaArgs(JavaOption javaOptions) {