[ https://issues.apache.org/jira/browse/MCOMPILER-203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15090068#comment-15090068 ]
David M. Lloyd commented on MCOMPILER-203: ------------------------------------------ All you have to do with the API is call javax.tools.JavaCompiler.CompilationTask#setProcessors(). Each processor can be instantiated from an isolated class loader according to any rules or strategy that you like. To specify isolated options, you can simply wrap each Processor with one that provides the specific arguments that were configured to the delegate processor on init(). I'm not aware of a use case that external javac solves which cannot be solved with the javax.tools API, given how old that API is now. > Allow compiler-plugin to specify annotation processor dependencies > ------------------------------------------------------------------ > > Key: MCOMPILER-203 > URL: https://issues.apache.org/jira/browse/MCOMPILER-203 > Project: Maven Compiler Plugin > Issue Type: New Feature > Affects Versions: 2.3.2, 3.1 > Environment: Java 6+ > Reporter: David M. Lloyd > Assignee: Andreas Gudian > Fix For: 3.5 > > > Right now the status quo for annotation processor artifacts requires one of > two actions: > # Use an external plugin for annotation processing > # Put the annotation processor in as a dependency with {{provided}} scope > The former is suboptimal because the external plugins are clunky and > ill-supported, and inflexible/hard to use. The latter is suboptimal because > it is often the case that you do not want to leak annotation processor > classes on to the application class path. > It should be possible to add annotation processor dependency artifacts to the > compiler plugin configuration such that they are recognized by the annotation > processing search algorithm of the compiler, but they do not actually appear > on the compilation class path. Ideally they would also be isolated from one > another (dependency graphs and all), but that's more of a "nice to have". -- This message was sent by Atlassian JIRA (v6.3.4#6332)