we can now inject StubArtifacts into the mojo's :)

<project>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <compileSourceRoots>
            <compileSourceRoot>src/main/java</compileSourceRoot>
          </compileSourceRoots>
          <compilerId>javac</compilerId>
          <outputDirectory>target/classes</outputDirectory>
          <artifact>org.apache.maven.artifact.Artifact</artifact>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

for the time being I am sticking all of the Stub* maven artifacts in the
maven-plugin-testing-harness and they are all referenced in the
components.xml file in the same project.  I am not sure if we want them to
ultimately reside next to the Default* implementations or not...anyone have
thoughts on that?  I could go either way on that.

I am pretty however pretty happy with the way this is fleshing out :)

very useful and by the time more unit tests are written we should have a
pretty decent set of stub's for mojo's to work with.

Not everything will have to be a stub either here, jason is working on the
ArtifactRepository and aggregating some things together but I can see the
need where we are going to need a real one or more of those since some
plugins make use of it...the axistools plugin for one :)

cheers,
jesse

On 2/23/06, Jesse McConnell <[EMAIL PROTECTED]> wrote:
>
> updating this thread again
>
> Jason and I talked over the above idea and he took a few minutes and put
> together the basic jist of the concept and shoved it into the mojo-sandbox
> so I could work with it.
>
> mojo-sandbox/maven-plugin-testing/maven-plugin-testing-harness
>
> that has version 1.0-SNAPSHOT of the AbstractMojoTestCase which is what
> the test cases can subclass from to get the ability to dynamically load the
> mojo based on an arbitary pom.
>
> I modified the maven-clean-plugin again to make use of this and it turned
> out quite well I'd say.
>
>    /**
>      * tests the ability of the plugin to clean out a set of directories
>      *
>      * @throws Exception
>      */
>     public void testClean() throws Exception {
>
>         CleanMojo mojo = (CleanMojo) lookupMojo ("clean", testPom );
>
>         assertNotNull( mojo );
>
>         mojo.execute();
>
>         assertFalse ( FileUtils.fileExists(
> "target/test/testDirectoryStructure/buildDirectory" ) );
>         assertFalse ( FileUtils.fileExists(
> "target/test/testDirectoryStructure/buildOutputDirectory" ) );
>         assertFalse ( FileUtils.fileExists(
> "target/test/testDirectoryStructure/buildTestDirectory" ) );
>     }
>
>
> This method in the CleanMojoTest class coupled with this pom.xml @
> src/test/resources/unit/clean/pom.xml execute the unit test very easily.
>
> <project>
>   <build>
>     <plugins>
>       <plugin>
>         <artifactId>maven-clean-plugin</artifactId>
>         <configuration>
>
> <directory>target/test/testDirectoryStructure/buildDirectory</directory>
>
> <outputDirectory>target/test/testDirectoryStructure/buildOutputDirectory</outputDirectory>
>
>
> <testOutputDirectory>target/test/testDirectoryStructure/buildTestDirectory</testOutputDirectory>
>         </configuration>
>       </plugin>
>     </plugins>
>   </build>
> </project>
>
> I am going to take this approach and work on testing another plugin in
> maven now, get a couple of plugins under my belt with this and the abstract
> base class ought to be pretty tight.
>
> jesse
>
> --
> jesse mcconnell
> jesseDOTmcconnellATgmailDOTcom




--
jesse mcconnell
jesseDOTmcconnellATgmailDOTcom

Reply via email to