From fbbad59cfbd85d0c33d2cb16ba289a4710306094 Mon Sep 17 00:00:00 2001 From: nik Date: Thu, 2 Feb 2017 14:17:42 +0300 Subject: [PATCH] external build: don't try to load classes from jps-builders module in forked javac process InProcessRefCollectorCompilerToolExtension is located in 'jps-builders' module, so if we switch jps-builders to Java 8 and try to compile a project using Javac 1.6 from forked process, it'll fail with UnsupportedClassVersionError. --- .../org.jetbrains.jps.javac.JavaCompilerToolExtension | 1 + .../org.jetbrains.jps.javac.JavaCompilerToolExtension | 1 - .../org/jetbrains/jps/cmdline/ClasspathBootstrap.java | 9 +-------- 3 files changed, 2 insertions(+), 9 deletions(-) create mode 100644 jps/jps-builders-6/src/META-INF/services/org.jetbrains.jps.javac.JavaCompilerToolExtension diff --git a/jps/jps-builders-6/src/META-INF/services/org.jetbrains.jps.javac.JavaCompilerToolExtension b/jps/jps-builders-6/src/META-INF/services/org.jetbrains.jps.javac.JavaCompilerToolExtension new file mode 100644 index 000000000000..74cb3d8606b0 --- /dev/null +++ b/jps/jps-builders-6/src/META-INF/services/org.jetbrains.jps.javac.JavaCompilerToolExtension @@ -0,0 +1 @@ +org.jetbrains.jps.javac.ast.ExternalRefCollectorCompilerToolExtension diff --git a/jps/jps-builders/src/META-INF/services/org.jetbrains.jps.javac.JavaCompilerToolExtension b/jps/jps-builders/src/META-INF/services/org.jetbrains.jps.javac.JavaCompilerToolExtension index dc163c7ab132..42303091f055 100644 --- a/jps/jps-builders/src/META-INF/services/org.jetbrains.jps.javac.JavaCompilerToolExtension +++ b/jps/jps-builders/src/META-INF/services/org.jetbrains.jps.javac.JavaCompilerToolExtension @@ -1,2 +1 @@ -org.jetbrains.jps.javac.ast.ExternalRefCollectorCompilerToolExtension org.jetbrains.jps.javac.ast.InProcessRefCollectorCompilerToolExtension \ No newline at end of file diff --git a/jps/jps-builders/src/org/jetbrains/jps/cmdline/ClasspathBootstrap.java b/jps/jps-builders/src/org/jetbrains/jps/cmdline/ClasspathBootstrap.java index 91dbd44e88a9..90af7e7d040d 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/cmdline/ClasspathBootstrap.java +++ b/jps/jps-builders/src/org/jetbrains/jps/cmdline/ClasspathBootstrap.java @@ -31,7 +31,6 @@ import org.jetbrains.jps.builders.impl.java.EclipseCompilerTool; import org.jetbrains.jps.builders.java.JavaCompilingTool; import org.jetbrains.jps.builders.java.JavaSourceTransformer; import org.jetbrains.jps.javac.ExternalJavacProcess; -import org.jetbrains.jps.javac.JavaCompilerToolExtension; import org.jetbrains.jps.javac.OptimizedFileManagerUtil; import org.jetbrains.jps.model.JpsModel; import org.jetbrains.jps.model.impl.JpsModelImpl; @@ -39,9 +38,7 @@ import org.jetbrains.jps.model.serialization.JpsProjectLoader; import org.jetbrains.org.objectweb.asm.ClassVisitor; import org.jetbrains.org.objectweb.asm.ClassWriter; -import javax.tools.JavaCompiler; -import javax.tools.StandardJavaFileManager; -import javax.tools.ToolProvider; +import javax.tools.*; import java.io.File; import java.util.*; @@ -166,10 +163,6 @@ public class ClasspathBootstrap { cp.add(getResourceFile(t.getClass())); } - for (JavaCompilerToolExtension toolExtension : JavaCompilerToolExtension.getExtensions()) { - cp.add(getResourceFile(toolExtension.getClass())); - } - return new ArrayList(cp); }