IDEA-100595 Allow to set grape.root

This commit is contained in:
peter
2013-02-27 16:46:03 +01:00
parent a917796bb2
commit 9048062500
3 changed files with 20 additions and 3 deletions
@@ -173,13 +173,21 @@ public class GroovyBuilder extends ModuleLevelBuilder {
programParams.add("--indy");
}
List<String> vmParams = ContainerUtilRt.newArrayList();
vmParams.add("-Xmx" + settings.heapSize + "m");
vmParams.add("-Dfile.encoding=" + System.getProperty("file.encoding"));
//vmParams.add("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5239");
String grapeRoot = System.getProperty(GroovycOSProcessHandler.GRAPE_ROOT);
if (grapeRoot != null) {
vmParams.add("-D" + GroovycOSProcessHandler.GRAPE_ROOT + "=" + grapeRoot);
}
final List<String> cmd = ExternalProcessUtil.buildJavaCommandLine(
getJavaExecutable(chunk),
"org.jetbrains.groovy.compiler.rt.GroovycRunner",
Collections.<String>emptyList(), classpath,
Arrays.asList("-Xmx" + settings.heapSize + "m",
"-Dfile.encoding=" + System.getProperty("file.encoding")/*,
"-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5239"*/),
vmParams,
programParams
);
@@ -40,6 +40,7 @@ import java.util.*;
*/
public class GroovycOSProcessHandler extends BaseOSProcessHandler {
public static final String GROOVY_COMPILER_IN_OPERATION = "Groovy compiler in operation...";
public static final String GRAPE_ROOT = "grape.root";
private final List<OutputItem> myCompiledItems = new ArrayList<OutputItem>();
private final Set<File> toRecompileFiles = new HashSet<File>();
private final List<CompilerMessage> compilerMessages = new ArrayList<CompilerMessage>();
@@ -35,6 +35,7 @@ import com.intellij.openapi.vfs.encoding.EncodingProjectManager;
import com.intellij.util.net.HttpConfigurable;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.incremental.groovy.GroovycOSProcessHandler;
import org.jetbrains.plugins.groovy.util.GroovyUtils;
import org.jetbrains.plugins.groovy.util.LibrariesUtil;
@@ -109,6 +110,13 @@ public class DefaultGroovyScriptRunner extends GroovyScriptRunner {
params.getProgramParametersList().add("--main");
params.getProgramParametersList().add(mainClass);
if (params.getVMParametersList().getPropertyValue(GroovycOSProcessHandler.GRAPE_ROOT) == null) {
String sysRoot = System.getProperty(GroovycOSProcessHandler.GRAPE_ROOT);
if (sysRoot != null) {
params.getVMParametersList().defineProperty(GroovycOSProcessHandler.GRAPE_ROOT, sysRoot);
}
}
}
private static void addScriptEncodingSettings(final JavaParameters params, final VirtualFile scriptFile, Module module) {