org.xtext.gradle.idea.tasks.RunIdea Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xtext-idea-gradle-plugin Show documentation
Show all versions of xtext-idea-gradle-plugin Show documentation
A plugin for for building IntelliJ IDEA Xtext plugins
package org.xtext.gradle.idea.tasks;
import com.google.common.collect.Lists;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.xtend.lib.annotations.Accessors;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.xbase.lib.Pure;
import org.gradle.api.internal.tasks.options.Option;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.JavaExec;
@Accessors
@SuppressWarnings("all")
public class RunIdea extends JavaExec {
@Input
private File sandboxDir;
@Input
private File ideaHome;
@Input
private boolean debugBuilder;
public RunIdea() {
this.setMain("com.intellij.idea.Main");
this.setMaxHeapSize("2G");
this.jvmArgs("-XX:MaxPermSize=512m");
}
@Override
public List getJvmArgs() {
ArrayList _xblockexpression = null;
{
List _jvmArgs = super.getJvmArgs();
final ArrayList args = Lists.newArrayList(_jvmArgs);
StringConcatenation _builder = new StringConcatenation();
_builder.append("-Didea.home.path=");
_builder.append(this.ideaHome, "");
args.add(_builder.toString());
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("-Didea.plugins.path=");
_builder_1.append(this.sandboxDir, "");
args.add(_builder_1.toString());
if (this.debugBuilder) {
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append("-Dcompiler.process.debug.port=5005");
args.add(_builder_2.toString());
}
_xblockexpression = args;
}
return _xblockexpression;
}
@Option(option = "debug-builder", description = "Starts Idea\'s external builder process in debugging mode on port 5005")
public boolean setDebugBuilder(final boolean debugBuilder) {
return this.debugBuilder = debugBuilder;
}
@Pure
public File getSandboxDir() {
return this.sandboxDir;
}
public void setSandboxDir(final File sandboxDir) {
this.sandboxDir = sandboxDir;
}
@Pure
public File getIdeaHome() {
return this.ideaHome;
}
public void setIdeaHome(final File ideaHome) {
this.ideaHome = ideaHome;
}
@Pure
public boolean isDebugBuilder() {
return this.debugBuilder;
}
}