From 751a29c3da4cf37f764e066ab60aec787a07ff46 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Fri, 9 Nov 2012 21:49:13 +0100 Subject: [PATCH] external make: correctly initialize annotation processor path for eclipse compiler --- .../src/org/jetbrains/jps/javac/JavacMain.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java index b062ed086d1f..6555c181b2b4 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java +++ b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java @@ -75,6 +75,10 @@ public class JavacMain { if (!classpath.isEmpty()) { try { fileManager.setLocation(StandardLocation.CLASS_PATH, classpath); + if (!nowUsingJavac && !isOptionSet(options, "-processorpath")) { + // for non-javac file manager ensure annotation processor path defaults to classpath + fileManager.setLocation(StandardLocation.ANNOTATION_PROCESSOR_PATH, classpath); + } } catch (IOException e) { fileManager.getContext().reportMessage(Diagnostic.Kind.ERROR, e.getMessage()); @@ -148,6 +152,15 @@ public class JavacMain { return true; } + private static boolean isOptionSet(final Collection options, String option) { + for (String opt : options) { + if (option.equals(opt)) { + return true; + } + } + return false; + } + private static Collection prepareOptions(final Collection options, boolean usingJavac) { final List result = new ArrayList(); if (usingJavac) {