<?xml version="1.0"?>

<!--
  =============================================================================
    Cactus2 plugin for Maven.
  =============================================================================
-->

<project 
  xmlns:j="jelly:core" 
  xmlns:doc="doc" 
  xmlns:util="jelly:util"
  xmlns:ant="jelly:ant"
  xmlns:define="jelly:define"
  xmlns:x="jelly:xml">

  <!--
     ========================================================================
       Default goal.
     ========================================================================
  -->
  <goal name="cactus2" prereqs="cactus2:test-war"
      description="Runs the Cactus tests"/>

  <!--
     ========================================================================
       Initializations.
     ========================================================================
  -->
  <goal name="cactus2:init">

    <j:set var="tmp" value="${maven.cactus.src.dir}"/>
    ${pom.getPluginContext('maven-aspectwerkz-plugin').setVariable('maven.aspectwerkz.src.dir', tmp)}

    <j:set var="tmp" value="${maven.cactus.build.dest}"/>
    ${pom.getPluginContext('maven-aspectwerkz-plugin').setVariable('maven.aspectwerkz.build.dest', tmp)}
       
  </goal>

  <!--
     ========================================================================
       Compile the Cactus tests
     ========================================================================
  -->
  <goal name="cactus2:compile" prereqs="cactus2:init,aspectwerkz:weave"
      description="Compile the Cactus tests"/>

  <!--
     ========================================================================
       Run Cactus tests
     ========================================================================
  -->
  <goal name="cactus2:test-war" prereqs="cactus2:compile,war:war"
      description="Runs the Cactus tests">
      
    <taskdef name="junit"
        classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"/>

    <ant:junit printSummary="true" fork="true" dir="${maven.build.dir}">
      <ant:sysproperty key="aspectwerkz.definition.file" value="${basedir}/conf/aspectwerkz.xml"/>
      <ant:formatter type="plain" usefile="false"/>
      <ant:classpath>
        <ant:path refid="maven.dependency.classpath"/>
        <ant:pathelement location="${maven.build.dest}"/>
        <ant:pathelement location="${plugin.getDependencyPath('aspectwerkz:aspectwerkz')}"/>
        <ant:pathelement location="${plugin.getDependencyPath('dom4j:dom4j')}"/>
        <ant:pathelement location="${plugin.getDependencyPath('trove:trove')}"/>
        <ant:pathelement location="${plugin.getDependencyPath('bcel:bcel')}"/>
        <ant:pathelement location="${plugin.getDependencyPath('jrexx:jrexx')}"/>
      </ant:classpath>
      <ant:test name="org.apache.cactus.sample.servlet.TestSampleServletAspectWerkz"/>
    </ant:junit>

  </goal>

</project>
