From d77a1ae1315059cc8d356f48d59625c667d86934 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Sun, 16 Dec 2012 23:31:49 +0100 Subject: [PATCH] external build: fix loading processor data from xml; specify options to javac in correct format (IDEA-97426 Incorrect annotation processors executed) --- .../src/org/jetbrains/jps/incremental/java/JavaBuilder.java | 5 +++-- .../java/compiler/AnnotationProcessorProfileSerializer.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java index 7c1f381534ba..b4870b523ff3 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java @@ -593,9 +593,10 @@ public class JavaBuilder extends ModuleLevelBuilder { options.add(processorsPath == null? "" : FileUtil.toSystemDependentName(processorsPath.trim())); } - for (String procFQName : profile.getProcessors()) { + final Set processors = profile.getProcessors(); + if (!processors.isEmpty()) { options.add("-processor"); - options.add(procFQName); + options.add(StringUtil.join(processors, ",")); } for (Map.Entry optionEntry : profile.getProcessorOptions().entrySet()) { diff --git a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/compiler/AnnotationProcessorProfileSerializer.java b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/compiler/AnnotationProcessorProfileSerializer.java index 4760cfb0d247..5fcc0b41d73c 100644 --- a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/compiler/AnnotationProcessorProfileSerializer.java +++ b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/java/compiler/AnnotationProcessorProfileSerializer.java @@ -68,7 +68,7 @@ public class AnnotationProcessorProfileSerializer { profile.clearProcessors(); for (Object procElement : element.getChildren("processor")) { final String name = ((Element)procElement).getAttributeValue(NAME); - if (StringUtil.isEmptyOrSpaces(name)) { + if (!StringUtil.isEmptyOrSpaces(name)) { profile.addProcessor(name); } }