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

Reply via email to