Merge branch 'optionsForAnnotationProcessor' of https://github.com/klausbayrhammer...
authorVladislav.Soroka <Vladislav.Soroka@jetbrains.com>
Wed, 8 Apr 2015 12:00:18 +0000 (15:00 +0300)
committerVladislav.Soroka <Vladislav.Soroka@jetbrains.com>
Wed, 8 Apr 2015 12:00:18 +0000 (15:00 +0300)
1  2 
plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProject.java

index eebaa71c0036c989e4130d191fdde4919af747c8,7fd7e8f29c374b4e4c5e5e4bcb3b64add0b42bdb..5757f3db9906f025f71b04e81ceb4dc510aeb73c
@@@ -61,7 -61,6 +61,7 @@@ public class MavenProject 
      .put("1.5", "1.5")
      .put("5", "1.5")
      .put("1.6", "1.6")
 +    .put("6", "1.6")
      .put("1.7", "1.7")
      .put("7", "1.7")
      .put("1.8", "1.8")
  
    public Map<String, String> getAnnotationProcessorOptions() {
      Element compilerConfig = getCompilerConfig();
+     if (compilerConfig != null) {
+       return getAnnotationProcessorOptionsFromCompilerConfig(compilerConfig);
+     }
+     MavenPlugin bscMavenPlugin = findPlugin("org.bsc.maven", "maven-processor-plugin");
+     if (bscMavenPlugin != null) {
+       return getAnnotationProcessorOptionsFromProcessorPlugin(bscMavenPlugin);
+     }
+     return Collections.emptyMap();
+   }
  
-     if (compilerConfig == null) return Collections.emptyMap();
+   private Map<String, String> getAnnotationProcessorOptionsFromCompilerConfig(Element compilerConfig) {
      Map<String, String> res = null;
  
      String compilerArgument = compilerConfig.getChildText("compilerArgument");
      return res;
    }
  
+   private Map<String, String> getAnnotationProcessorOptionsFromProcessorPlugin(MavenPlugin bscMavenPlugin) {
+     Element cfg = bscMavenPlugin.getGoalConfiguration("process");
+     if (cfg == null) {
+       cfg = bscMavenPlugin.getConfigurationElement();
+     }
+     LinkedHashMap<String, String> res = new LinkedHashMap<String, String>();
+     if (cfg != null) {
+       List<Element> options = cfg.getChild("options").getChildren();
+       for (Element option : options) {
+         res.put(option.getName(), option.getText());
+       }
+     }
+     return res;
+   }
    @Nullable
    public List<String> getDeclaredAnnotationProcessors() {
      Element compilerConfig = getCompilerConfig();