diff --git a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java index 7b2acf0ae6be..313e6d5c4b58 100644 --- a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java +++ b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java @@ -17,6 +17,7 @@ package com.intellij.compiler.server; import com.intellij.ProjectTopics; import com.intellij.compiler.CompilerConfiguration; +import com.intellij.compiler.CompilerReferenceService; import com.intellij.compiler.CompilerWorkspaceConfiguration; import com.intellij.compiler.impl.CompilerUtil; import com.intellij.compiler.impl.javaCompiler.javac.JavacConfiguration; @@ -104,6 +105,7 @@ import org.jetbrains.jps.cmdline.BuildMain; import org.jetbrains.jps.cmdline.ClasspathBootstrap; import org.jetbrains.jps.incremental.Utils; import org.jetbrains.jps.model.java.JpsJavaSdkType; +import org.jetbrains.jps.model.java.compiler.JpsJavaCompilerOptions; import org.jetbrains.jps.model.serialization.JpsGlobalLoader; import javax.tools.*; @@ -1081,6 +1083,7 @@ public class BuildManager implements Disposable { } cmdLine.addParameter("-D"+ GlobalOptions.COMPILE_PARALLEL_OPTION +"=" + Boolean.toString(config.PARALLEL_COMPILATION)); cmdLine.addParameter("-D"+ GlobalOptions.REBUILD_ON_DEPENDENCY_CHANGE_OPTION + "=" + Boolean.toString(config.REBUILD_ON_DEPENDENCY_CHANGE)); + cmdLine.addParameter("-D" + JpsJavaCompilerOptions.COLLECT_REFERENCES_PROPERTY + "=" + CompilerReferenceService.isEnabled()); if (Boolean.TRUE.equals(Boolean.valueOf(System.getProperty("java.net.preferIPv4Stack", "false")))) { cmdLine.addParameter("-Djava.net.preferIPv4Stack=true"); diff --git a/jps/jps-builders/src/org/jetbrains/jps/builders/impl/java/JavacCompilerTool.java b/jps/jps-builders/src/org/jetbrains/jps/builders/impl/java/JavacCompilerTool.java index 79934f84cf92..4728ad40b57a 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/builders/impl/java/JavacCompilerTool.java +++ b/jps/jps-builders/src/org/jetbrains/jps/builders/impl/java/JavacCompilerTool.java @@ -16,6 +16,7 @@ package org.jetbrains.jps.builders.impl.java; import com.intellij.util.ExceptionUtil; +import com.intellij.util.SystemProperties; import com.sun.source.util.JavacTask; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -24,6 +25,7 @@ import org.jetbrains.jps.builders.java.JavaCompilingTool; import org.jetbrains.jps.javac.JavacMain; import org.jetbrains.jps.javac.ast.JavacReferencesCollector; import org.jetbrains.jps.model.java.compiler.JavaCompilers; +import org.jetbrains.jps.model.java.compiler.JpsJavaCompilerOptions; import javax.tools.*; import java.io.File; @@ -85,6 +87,8 @@ public class JavacCompilerTool extends JavaCompilingTool { @Override public void prepareCompilationTask(@NotNull JavaCompiler.CompilationTask task, @NotNull Collection options) { - JavacReferencesCollector.installOn((JavacTask)task); + if (SystemProperties.getBooleanProperty(JpsJavaCompilerOptions.COLLECT_REFERENCES_PROPERTY, false)) { + JavacReferencesCollector.installOn((JavacTask)task); + } } } diff --git a/jps/model-api/src/org/jetbrains/jps/model/java/compiler/JpsJavaCompilerOptions.java b/jps/model-api/src/org/jetbrains/jps/model/java/compiler/JpsJavaCompilerOptions.java index 05229a4b88df..7bc726f5a312 100644 --- a/jps/model-api/src/org/jetbrains/jps/model/java/compiler/JpsJavaCompilerOptions.java +++ b/jps/model-api/src/org/jetbrains/jps/model/java/compiler/JpsJavaCompilerOptions.java @@ -19,6 +19,8 @@ package org.jetbrains.jps.model.java.compiler; * @author nik */ public class JpsJavaCompilerOptions { + public static final String COLLECT_REFERENCES_PROPERTY = "jps.javac.collect.references"; + public boolean DEBUGGING_INFO = true; public boolean GENERATE_NO_WARNINGS = false; public boolean DEPRECATION = true;