Steven-
The phases in a lifecycle have nothing to do with the packaging of a
project. pom-packaged projects just don't have anything bound BY DEFAULT
to the compile, test-compile, etc. phases. You need to configure the
compiler plugin to bind the testCompile goal to the test-compile phase
and the surefire plugin to bind it to the test phase. In the pom below,
you have surefire configure, but it's not bound to a lifecycle phase.

That said, it seems to me that this is a lot of work which you could
avoid by using a separate test project.

Running "mvn compiler:testCompile" just runs a goal, not a lifecycle phase.

HTH,

Justin

On 3/10/10 11:03 AM, Maring, Steven wrote:
> I have a project that I have declared to have the "pom" package, with
> the intent of only releasing the XML schema (xsd) within the project via
> the build-helper-maven-plugin's attach-artifact goal.
> 
>  
> 
> However, I would like to run some unit tests that will generate the Java
> object graph via JAXB and run some marshalling and unmarshalling tests,
> then show me the results with the surefire report plugin.
> 
>  
> 
> My problem is that the "pom" package only typically does the package,
> install, and deploy phases.  I can bind additional goals to phases,
> which then seem to become part of the phases stack, like the
> generate-test-sources phase, but how can I add the test-compile and test
> phases when trying to reach the site milestone?
> 
>  
> 
>  I would like to just say "mvn site" and have the tests compile and run.
> 
>  
> 
> I've tried running "mvn compiler:testCompile" and adding the generated
> sources to the test sources with the helper plugin, but trying to reach
> that goal also seems to just skip the generate-test-sources phase.
> 
>  
> 
>  
> 
> Here is the current state of my pom.xml:
> 
>  
> 
> <project xmlns="http://maven.apache.org/POM/4.0.0";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation=" http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/maven-v4_0_0.xsd";>
> 
>  
> 
>       <modelVersion>4.0.0</modelVersion>
> 
>       <groupId>com.example</groupId>
> 
>       <artifactId>person-schema</artifactId>
> 
>       <version>1.0.0-SNAPSHOT</version>
> 
>       <name>Example Person Schema</name>
> 
>       <packaging>pom</packaging>
> 
>       
> 
>       <properties>
> 
>             <branch.name>trunk</branch.name>
> 
>             <branch.dir>${branch.name}</branch.dir>
> 
>             <jdk.version>1.5</jdk.version>
> 
>             <testSourceDir>src/test/unit/java</testSourceDir>
> 
>             <testOutputDir>target/test/unit/classes</testOutputDir>
> 
>             <testResourceDir>src/test/unit/resources</testResourceDir>
> 
>       </properties>
> 
>       
> 
>       <build>
> 
>             
> 
>             <testSourceDirectory>${testSourceDir}</testSourceDirectory>
> 
>             <testOutputDirectory>${testOutputDir}</testOutputDirectory>
> 
>             <testResources>
> 
>                   <testResource>
> 
>                         <directory>${testResourceDir}</directory>
> 
>                   </testResource>
> 
>             </testResources>
> 
>             
> 
>             <plugins>
> 
>             
> 
>                   <plugin>
> 
>                         <groupId>org.codehaus.mojo</groupId>
> 
>  
> <artifactId>build-helper-maven-plugin</artifactId>
> 
>                         <executions>
> 
>                               <execution>
> 
>                                     <id>add-test-source</id>
> 
>                                     <phase>generate-test-sources</phase>
> 
>                                     <goals>
> 
>                                           <goal>add-test-source</goal>
> 
>                                     </goals>
> 
>                                     <configuration>
> 
>                                           <sources>
> 
>  
> <source>target/generated-sources/jaxb</source>
> 
>                                           </sources>
> 
>                                     </configuration>
> 
>                               </execution>
> 
>                               <execution>
> 
>                                     <id>attach-artifacts</id>
> 
>                                     <phase>package</phase>
> 
>                                     <goals>
> 
>                                           <goal>attach-artifact</goal>
> 
>                                     </goals>
> 
>                                     <configuration>
> 
>                                           <artifacts>
> 
>                                                 <artifact>
> 
>  
> <file>src/main/resources/Person.xsd</file>
> 
>                                                       <type>xsd</type>
> 
>                                                 </artifact>
> 
>                                           </artifacts>
> 
>                                     </configuration>
> 
>                               </execution>
> 
>                         </executions>
> 
>                   </plugin>
> 
>  
> 
>  
> 
>             <plugin>
> 
>                 <groupId>org.codehaus.mojo</groupId>
> 
>                 <artifactId>jaxb2-maven-plugin</artifactId>
> 
>                 <version>1.3</version>
> 
>                 <executions>
> 
>                     <execution>
> 
>                         <phase>generate-test-sources</phase>
> 
>                         <goals>
> 
>                             <goal>xjc</goal>
> 
>                         </goals>
> 
>                               <configuration>
> 
>  
> <packageName>com.example.vo</packageName>
> 
>  
> <schemaDirectory>src/main/resources</schemaDirectory>
> 
>  
> <schemaFiles>Person.xsd</schemaFiles>
> 
>                               </configuration>
> 
>                     </execution>
> 
>                </executions>
> 
>            </plugin>
> 
>  
> 
>  
> 
>                   <plugin>
> 
>                         <groupId>org.apache.maven.plugins</groupId>
> 
>                         <artifactId>maven-surefire-plugin</artifactId>
> 
>                         <version>2.5</version>
> 
>                         <configuration>
> 
>                               <systemPropertyVariables>
> 
>                                     <property>
> 
>  
> <name>log4j.configuration</name>
> 
>                                           <value>test-log4j.xml</value>
> 
>                                     </property>
> 
>                               </systemPropertyVariables>
> 
>                         </configuration>
> 
>                   </plugin>
> 
>  
> 
>             </plugins>
> 
>       </build>
> 
>  
> 
>       <reporting>
> 
>       
> 
>             <plugins>
> 
>             
> 
>                   <plugin>
> 
>                         <groupId>org.apache.maven.plugins</groupId>
> 
>  
> <artifactId>maven-surefire-report-plugin</artifactId>
> 
>                         <version>2.5</version>
> 
>                   </plugin>
> 
>                   
> 
>                   <plugin>
> 
>                   <groupId>org.apache.maven.plugins</groupId>
> 
>  
> <artifactId>maven-project-info-reports-plugin</artifactId>
> 
>                   <version>2.1.2</version>
> 
>                         <reportSets>
> 
>                               <reportSet>
> 
>                                     <reports>
> 
>                                     </reports>
> 
>                               </reportSet>
> 
>                         </reportSets>
> 
>                   </plugin>
> 
>                   
> 
>             </plugins>
> 
>             
> 
>       </reporting>
> 
>  
> 
>  
> 
>       <dependencies>
> 
>  
> 
>             <dependency>
> 
>                   <groupId>com.sun.xml.bind</groupId>
> 
>                   <artifactId>jaxb-impl</artifactId>
> 
>                   <version>2.2</version>
> 
>                   <scope>test</scope>
> 
>             </dependency>
> 
>         <dependency>
> 
>             <groupId>javax.xml.bind</groupId>
> 
>             <artifactId>jaxb-api</artifactId>
> 
>             <version>2.2</version>
> 
>             <scope>test</scope>
> 
>         </dependency>
> 
>             <dependency>
> 
>                   <groupId>junit</groupId>
> 
>                   <artifactId>junit</artifactId>
> 
>                   <version>4.6</version>
> 
>                   <scope>test</scope>
> 
>             </dependency>
> 
>             <dependency>
> 
>                   <groupId>org.slf4j</groupId>
> 
>                   <artifactId>slf4j-log4j12</artifactId>
> 
>                   <version>1.5.6</version>
> 
>                   <scope>test</scope>
> 
>             </dependency>
> 
>  
> 
>       </dependencies>
> 
>       
> 
> </project>
> 
>  
> 
>  
> 
> -Steve Maring
> 
> Tampa, FL
> 
> 


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

Reply via email to