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]

Reply via email to