David M. Lloyd created MCOMPILER-207:
----------------------------------------

             Summary: Support separate GAV list for annotation processors
                 Key: MCOMPILER-207
                 URL: https://jira.codehaus.org/browse/MCOMPILER-207
             Project: Maven 2.x Compiler Plugin
          Issue Type: New Feature
            Reporter: David M. Lloyd


Currently, the compiler plugin searches for annotation processors on the 
compile class path using the default search algorithm.  This can be problematic 
when having annotation processor JARs or their dependencies on the compile 
classpath adversely affects compilation behavior, sometimes even making 
compilation impossible.

It should be possible to alternatively explicitly give a list of artifacts to 
pass in to the compiler as the annotation processor path.  This would 
correspond to the standard "-processorpath" option.  When given in this way, 
these artifacts (and their transitive dependencies) would have an isolated 
class loader which could "see" classes on the compile class path but not *be* 
"seen" by classes on the compile class path.

This list would be defined in the compiler plugin configuration section as a 
list of artifacts with optional nested exclusions and that sort of thing (no 
scope though, as annotation processing is only applicable to compilation).  I 
imagine that these artifacts would behave largely similarly to normal 
dependencies (i.e. subject to {{<dependencyManagement>}} sections), and any 
dependencies which are already on the compile class path would be chosen from 
the compile class loader rather than being duplicated in the processor class 
loader.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to