summaryrefslogtreecommitdiff
path: root/jps/jps-builders/src/org/jetbrains/jps/javac/JavacServer.java
diff options
context:
space:
mode:
Diffstat (limited to 'jps/jps-builders/src/org/jetbrains/jps/javac/JavacServer.java')
-rw-r--r--jps/jps-builders/src/org/jetbrains/jps/javac/JavacServer.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacServer.java b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacServer.java
index b5dc9bad44fb..65c92e2ae76f 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacServer.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacServer.java
@@ -29,6 +29,9 @@ import io.netty.handler.codec.protobuf.ProtobufVarint32LengthFieldPrepender;
import io.netty.util.concurrent.ImmediateEventExecutor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.api.CanceledStatus;
+import org.jetbrains.jps.builders.impl.java.JavacCompilerTool;
+import org.jetbrains.jps.builders.java.JavaBuilderUtil;
+import org.jetbrains.jps.builders.java.JavaCompilingTool;
import org.jetbrains.jps.service.SharedThreadPool;
import javax.tools.*;
@@ -44,7 +47,7 @@ public class JavacServer {
public static final int DEFAULT_SERVER_PORT = 7878;
public static final String SERVER_SUCCESS_START_MESSAGE = "Javac server started successfully. Listening on port: ";
public static final String SERVER_ERROR_START_MESSAGE = "Error starting Javac Server: ";
- public static final String USE_ECLIPSE_COMPILER_PROPERTY = "use.eclipse.compiler";
+ public static final String JPS_JAVA_COMPILING_TOOL_PROPERTY = "jps.java.compiling.tool";
private ChannelRegistrar myChannelRegistrar;
@@ -153,7 +156,8 @@ public class JavacServer {
};
try {
- final boolean rc = JavacMain.compile(options, files, classpath, platformCp, sourcePath, outs, diagnostic, outputSink, canceledStatus, System.getProperty(USE_ECLIPSE_COMPILER_PROPERTY) != null);
+ JavaCompilingTool tool = getCompilingTool();
+ final boolean rc = JavacMain.compile(options, files, classpath, platformCp, sourcePath, outs, diagnostic, outputSink, canceledStatus, tool);
return JavacProtoUtil.toMessage(sessionId, JavacProtoUtil.createBuildCompletedResponse(rc));
}
catch (Throwable e) {
@@ -163,6 +167,17 @@ public class JavacServer {
}
}
+ private static JavaCompilingTool getCompilingTool() {
+ String property = System.getProperty(JPS_JAVA_COMPILING_TOOL_PROPERTY);
+ if (property != null) {
+ JavaCompilingTool tool = JavaBuilderUtil.findCompilingTool(property);
+ if (tool != null) {
+ return tool;
+ }
+ }
+ return new JavacCompilerTool();
+ }
+
private final Set<CancelHandler> myCancelHandlers = Collections.synchronizedSet(new HashSet<CancelHandler>());
public void cancelBuilds() {