[ http://jira.codehaus.org/browse/MCOMPILER-135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=235168#action_235168 ]
Sean Patrick Floyd edited comment on MCOMPILER-135 at 9/14/10 3:55 AM: ----------------------------------------------------------------------- Per: That functionality already exists:{code}<compilerArguments> <key1>value1</key1> <key2>value2</key2> <compilerArguments>{code} But as I wrote above, this is internally mapped to {code}["-key1", "value1", "-key2", "value2"]{code} instead of {code}["-key1=value1", "-key2=value2"]{code}, which is the format needed for apt parameters. Most other compiler arguments need the other syntax, though. So there's basically two ways to handle this: either check the existing map for parameters starting with a capital A (and risk breaking functionality where some compiler relies on a parameter starting with a capital A) or add a new variable that's dedicated to apt parameters (I have submitted two patches to cover these two approaches) was (Author: seanizer): Per: That functionality already exists:{code}<compilerArguments> <key1>value1</key1> <key2>value2</key2> <compilerArguments>{code} But as I wrote above, this is internally mapped to ["-key1", "value1", "-key2", "value2"] instead of ["-key1=value1", "-key2=value2"], which is the format needed for apt parameters. Most other compiler arguments need the other syntax, though. So there's basically two ways to handle this: either check the existing map for parameters starting with a capital A (and risk breaking functionality where some compiler relies on a parameter starting with a capital A) or add a new variable that's dedicated to apt parameters (I have submitted two patches to cover these two approaches) > 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.2.patch, > 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