You need to tag your mojo with:
@requiresDependencyResolution test
Read more here:
http://maven.apache.org/developers/mojo-api-specification.html
Wayne
On 5/14/07, Monty Zukowski <[EMAIL PROTECTED]> wrote:
I've got my own plugin for my own test framework but don't seem to be getting
my test classes in the classpath when running the plugin.
For instance:
<plugin>
<groupId>com.temboo.arcturus.maven_testsuite_plugin</groupId>
<artifactId>arcturus-maven-testsuite-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<executions>
<execution>
<phase>test</phase>
<id>1</id>
<configuration>
</configuration>
<goals>
<goal>testsuite</goal>
</goals>
</execution>
</executions>
</plugin>
...
public void execute()
throws MojoExecutionException
{
String classpath = System.getProperty("java.class.path");
getLog().info("classpath: " + classpath);
prints this:
classpath:
/usr/local/maven-2.0.4/core/boot/classworlds-1.1.jar:/usr/lib/j2sdk1.5-sun//lib/tools.jar
which shows none of the compiled classes in there. I was expecting since I specified the
<phase>test</phase> that it would be set up to have the test classes in the
classpath already.
So I tried to pass in the classpath I need, something like this:
<plugin>
<groupId>com.temboo.arcturus.maven_testsuite_plugin</groupId>
<artifactId>arcturus-maven-testsuite-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<executions>
<execution>
<phase>test</phase>
<id>1</id>
<configuration>
<path id='project.class.path'>
<path refid='maven.test.classpath'/>
<path refid='maven.runtime.classpath'/>
<path refid='maven.dependency.classpath'/>
<path refid='maven.compile.classpath'/>
<path refid='maven.plugin.classpath'/>
</path>
<cp>${project.class.path}</cp>
<suitefile>${basedir}/testng.xml</suitefile>
</configuration>
<goals>
<goal>testsuite</goal>
</goals>
</execution>
</executions>
</plugin>
...
/**
* @parameter expression="whatever"
* @required
*/
private String cp;
public void execute()
throws MojoExecutionException
{
getLog().info("classpath: " + cp);
String classpath = System.getProperty("java.class.path");
getLog().info("old classpath: " + classpath);
And that told me that ${project.class.path} was undefined. So, one question is
how do I pass the path along to the plugin?
But the big question is, how do I specify that I want this plugin to be run
with the maven.test.classpath?
Thanks,
Monty
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]