We'd handle this in our CI system by running two jobs in parallel
coupled to different tooling.

________________________________

Curt Yanko | Continuous Integration Services | UnitedHealth Group IT 
Making IT Happen, one build at a time, 600 times a day
 

> -----Original Message-----
> From: Claves Do Amaral [mailto:[email protected]] 
> Sent: Tuesday, May 24, 2011 10:35 AM
> To: Maven Users List
> Subject: How to compile twice
> 
> Hello to the Maven users.
> 
> I am trying to generate two artefacts, each containing two 
> different flavours of generated classes.
> I am able to generate the classes under two different folders:
> 
> target\generated-sources-jacorb
> target\generated-sources-sunorb
> 
> Now I would like to compile these two folders separately in 
> the same build, and include them in two different artefacts.
> I am using the following configuration, with two executions
> 
> <plugin>
>                 <groupId>org.apache.maven.plugins</groupId>
>                 <artifactId>maven-compiler-plugin</artifactId>
>                 <executions>
>                                 <execution>
>                                                 
> <id>compile-with-jacorb</id>
>                                                 <goals>
>                                                               
>   <goal>compile</goal>
>                                                 </goals>
>                                                 <configuration>
>                                                               
>   
> <outputDirectory>${project.build.directory}/classes-jacorb</ou
> tputDirectory>
>                                                               
>   <excludes>
>                                                               
>                   <exclude>**/generated-sources-sunorb/*</exclude>
>                                                               
>   </excludes>
>                                                 </configuration>
>                                 </execution>
>                                 <execution>
>                                                 
> <id>compile-with-sunorb</id>
>                                                 <goals>
>                                                               
>   <goal>compile</goal>
>                                                 </goals>
>                                                 <configuration>
>                                                               
>   
> <outputDirectory>${project.build.directory}/classes-sunorb</ou
> tputDirectory>
>                                                               
>   <excludes>
>                                                               
>                   <exclude>**/generated-sources-jacorb/*</exclude>
>                                                               
>   </excludes>
>                                                 </configuration>
>                                 </execution>
>                 </executions>
> </plugin>
> 
> however the compilation fails with the error
> 
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile 
> (default-compile) on project test-attach-artifact: 
> Compilation failure: Compilation failure:
> [ERROR] 
> \dev\Projects\test-attach-artifact\target\generated-sources-ja
> corb\idl\uk\co\igindex\corba\service\V3_0\NoDataHelper.java:[1
> 1,13] duplicate class: uk.co.igindex.corba.service.V3_0.NoDataHelper
> ..........
> 
> I.e. both generated source folders are included during 
> compilation. I can see this in the maven output:
> 
> [DEBUG] Configuring mojo 
> 'org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile'
>  with basic configurator -->
> [DEBUG]   (f) basedir = C:\dev\Projects\test-attach-artifact
> [DEBUG]   (f) buildDirectory = 
> C:\dev\Projects\test-attach-artifact\target
> [DEBUG]   (f) classpathElements = 
> [C:\dev\Projects\test-attach-artifact\target\classes]
> [DEBUG]   (f) compileSourceRoots = 
> [C:\dev\Projects\test-attach-artifact\src\main\java, 
> C:\dev\Projects\test-attach-artifact\target\generated-sources-
> jacorb\idl, 
> C:\dev\Projects\test-attach-artifact\target\generated-sources-
> sunorb\idl]
> ......
> 
> However, looking at the first part of the output (before the 
> above excerpt), it looks the configuration is picked up
> 
> [DEBUG] Goal:          
> org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile 
> (compile-with-jacorb)
> [DEBUG] Style:         Regular
> [DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?> 
> <configuration>
>   <basedir default-value="${basedir}"/>
>   <buildDirectory default-value="${project.build.directory}"/>
>   <classpathElements 
> default-value="${project.compileClasspathElements}"/>
>   <compileSourceRoots default-value="${project.compileSourceRoots}"/>
>   <compilerId 
> default-value="javac">${maven.compiler.compilerId}</compilerId>
>   <compilerVersion>${maven.compiler.compilerVersion}</compilerVersion>
>   <debug default-value="true">${maven.compiler.debug}</debug>
>   <debuglevel>${maven.compiler.debuglevel}</debuglevel>
>   <encoding 
> default-value="${project.build.sourceEncoding}">${encoding}</encoding>
>   <excludes>
>     <exclude>**/generated-sources-sunorb/*</exclude>
>   </excludes>
> .........
> 
> and
> 
> [DEBUG] Goal:          
> org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile 
> (compile-with-sunorb)
> [DEBUG] Style:         Regular
> [DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?> 
> <configuration>
>   <basedir default-value="${basedir}"/>
>   <buildDirectory default-value="${project.build.directory}"/>
>   <classpathElements 
> default-value="${project.compileClasspathElements}"/>
>   <compileSourceRoots default-value="${project.compileSourceRoots}"/>
>   <compilerId 
> default-value="javac">${maven.compiler.compilerId}</compilerId>
>   <compilerVersion>${maven.compiler.compilerVersion}</compilerVersion>
>   <debug default-value="true">${maven.compiler.debug}</debug>
>   <debuglevel>${maven.compiler.debuglevel}</debuglevel>
>   <encoding 
> default-value="${project.build.sourceEncoding}">${encoding}</encoding>
>   <excludes>
>     <exclude>**/generated-sources-jacorb/*</exclude>
>   </excludes>
> .......
> 
> Therefore, I do not understand why the configuration is 
> loaded and then discarded. If someone could help me, I would 
> really appreciate.
> 
> Thanks
> 
> Claves
> 
> ________________________________
> The information contained in this email is strictly 
> confidential and for the use of the addressee only, unless 
> otherwise indicated. If you are not the intended recipient, 
> please do not read, copy, use or disclose to others this 
> message or any attachment. Please also notify the sender by 
> replying to this email or by telephone (+44 (0)20 7896 0011) 
> and then delete the email and any copies of it. Opinions, 
> conclusions (etc) that do not relate to the official business 
> of this company shall be understood as neither given nor 
> endorsed by it. IG Group Holdings plc is a company registered 
> in England and Wales under number 01190902. VAT registration 
> number 761 2978 07. Registered Office: Cannon Bridge House, 
> 25 Dowgate Hill, London EC4R 2YA. Authorised and regulated by 
> the Financial Services Authority. FSA Register number 114059.
> 

This e-mail, including attachments, may include confidential and/or
proprietary information, and may be used only by the person or entity
to which it is addressed. If the reader of this e-mail is not the intended
recipient or his or her authorized agent, the reader is hereby notified
that any dissemination, distribution or copying of this e-mail is
prohibited. If you have received this e-mail in error, please notify the
sender by replying to this message and delete this e-mail immediately.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to