You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Sean Patrick Floyd (JIRA)" <ji...@codehaus.org> on 2010/09/13 18:09:32 UTC

[jira] Updated: (MCOMPILER-135) Passing multiple parameters to Java 6 annotation processors with javac does not work

     [ http://jira.codehaus.org/browse/MCOMPILER-135?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sean Patrick Floyd updated MCOMPILER-135:
-----------------------------------------

    Attachment: AbstractCompilerMojo.java.patch

Here is a Patch for org.apache.maven.plugin.AbstractCompilerMojo that enables the following code:

{code}<compilerArguments>
    <AaddResDir>src/main/webapp</AaddResDir>
    <Averbose>true</Averbose>
</compilerArguments>{code}

There should probably be a check whether source version is at least 1.6 and compiler id is javac, though.


> Passing multiple parameters to Java 6 annotation processors with javac does not work
> ------------------------------------------------------------------------------------
>
>                 Key: MCOMPILER-135
>                 URL: http://jira.codehaus.org/browse/MCOMPILER-135
>             Project: Maven 2.x Compiler Plugin
>          Issue Type: Bug
>    Affects Versions: 2.3.1
>         Environment: JDK 1.6, Maven 2.2.1, Maven-Compiler-Plugin 2.3.1, Windows
>            Reporter: Sean Patrick Floyd
>         Attachments: AbstractCompilerMojo.java.patch
>
>
> I have an annotation processor that supports multiple parameters and I have found that there is no way to set more than one of them at any given time from the Maven Compiler Plugin,
> Here's my setup.
> {code:xml} 
> <plugin>
>     <inherited>true</inherited>
>     <groupId>org.apache.maven.plugins</groupId>
>     <artifactId>maven-compiler-plugin</artifactId>
>     <version>2.3.1</version>
>     <configuration>
>         <source>1.6</source>
>         <target>1.6</target>
>         <compilerArgument>-AaddResDir=src/main/webapp -Averbose=true</compilerArgument>
>     </configuration>
> </plugin>
> {code} 
> Javac needs the parameters added as separate Strings
> {code}[ ... , "-AaddResDir=src/main/webapp", "-Averbose=true"]{code}
> but the Compiler Plugin generates this code:
> {code}[ ... , "-AaddResDir=src/main/webapp -Averbose=true"]{code}
> which Javac will parse as
> {code}key:"addResDir" value="src/main/webapp -Averbose=true"{code}
> The map version "<compilerArguments>" is of no help either, because this
> {code}<Averbose>true</Averbose>
> <AaddResDir>src/main/webapp</AResDir>{code}
> will generate the output
> {code}[... , "-Averbose", "true", "-AaddResDir", "src/main/webapp"]{code}
> while this
> {code}<Averbose=true />
> <AaddResDir=src/main/webapp />{code}
> is not well-formed XML.
> Stepping through the compiler argument generation with the debugger I have not found a way to post-process the arguments, so please add a way to support multiple APT parameters because this is a major show-stopper.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira