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]
