<?xml version="1.0" encoding="ISO-8859-1"?>
<j:whitespace
  xmlns:j="jelly:core"
  xmlns:util="jelly:util"
  xmlns:ant="jelly:ant"
  xmlns:maven="jelly:maven"
  xmlns="dummy"
  trim="true">

<classpath>            
  <j:if test="${sourcesPresent}">
    <maven:makeRelativePath var="srcDir" basedir="${basedir}" path="${pom.build.sourceDirectory}"/>
    <classpathentry kind="src" path="${srcDir}"/>
  </j:if>
  
  <j:if test="${unitTestSourcesPresent}">
    <ant:echo>Contains JUnit tests</ant:echo>
    <maven:makeRelativePath var="testSrcDir" basedir="${basedir}" path="${pom.build.unitTestSourceDirectory}"/>
      
    <!-- Eclipse supports an output directory per input directory -->
    <j:set var="testOutputDir" value="${maven.eclipse.test.output.dir}"/>
    <j:if test="${empty testOutputDir}">
      <j:set var="testOutputDir" 
             value="${pom.getPluginContext('maven-test-plugin').getVariable('maven.test.dest')}"/>      
    </j:if>

    <maven:makeRelativePath var="testOutputDir" basedir="${basedir}" path="${testOutputDir}" />
      
    <ant:echo>Setting compile of ${testSrcDir} to ${testOutputDir}</ant:echo>
    <classpathentry kind="src" path="${testSrcDir}" output="${testOutputDir}"/>


    <!-- Here are the rules:
         If the project has maven.eclipse.junit property, add that ver of junit
         If the project has maven.eclipse.junit property and it is empty, don't add junit
         If the project has junit dep, use that.
         Use the test plugin version
      -->
    <j:set var="verX" value="${maven.eclipse.junit}X"/>

    <j:set var="depVersion">${pom.getPluginContext('maven-test-plugin').getVariable('plugin').getDependency('junit').getVersion()}</j:set>
  
    <j:if test="${pom.getDependency('junit') != null}">
      <j:set var="depVersion" value="${pom.getDependency('junit').getVersion()}"/>
    </j:if>
  
    <j:if test="${verX != 'X'}">
      <j:set var="depVersion">${maven.eclipse.junit}</j:set>
    </j:if>
  
    <j:if test="${verX == 'noneX'}">
      <j:set var="depVersion" value="none"/>  
    </j:if>
      
    <j:if test="${depVersion != 'none'}">
      <classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-${depVersion}.jar"/>
    </j:if>
  </j:if>

  <j:set var="cactusSrcDir"
      value="${pom.getPluginContext('maven-cactus-plugin').getVariable('cactus.src.dir')}"/>
    <util:available file="${cactusSrcDir}">
      <j:set var="cactusSourcePresent" value="true"/>
    </util:available>

    <j:if test="${cactusSourcePresent == 'true'}">
      <ant:echo>Contains Cactus Tests!</ant:echo>
      <maven:makeRelativePath var="testSrcDir" basedir="${basedir}" path="${cactusSrcDir}" />
      <classpathentry kind="src" path="${testSrcDir}"/>
    
      <j:set var="depVersion">${pom.getPluginContext('maven-cactus-plugin').getVariable('plugin').getDependency('cactus').getVersion()}</j:set>
      <classpathentry kind="var" path="MAVEN_REPO/cactus/jars/cactus-${depVersion}.jar"/>
    </j:if>

  <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
    <j:forEach var="lib" items="${pom.artifacts}">
      <j:set var="eclipseDependency"
             value="${lib.dependency.getProperty('eclipse.dependency')}"/>
      <j:choose>
        <j:when test="${eclipseDependency == 'true'}">
          <classpathentry kind="src" path="/${lib.dependency.artifactId}"/>
        </j:when>
        <j:when test="${lib.dependency.groupId == 'junit'}">
          <!-- ignoring junit dependency as we've already created it -->
        </j:when>
        <j:otherwise>
          <classpathentry kind="var" path="MAVEN_REPO${lib.urlPath}"/>
        </j:otherwise>
      </j:choose>
    </j:forEach>
    
    <!-- add the unit test build directory so that any files generated via Maven are available -->  
  
    <j:set var="outputDir" value="${maven.eclipse.output.dir}"/>
    <j:if test="${empty outputDir}">
      <j:set var="outputDir" value="${maven.build.dest}"/>      
    </j:if>
    <maven:makeRelativePath var="outputDir" basedir="${basedir}" path="${outputDir}" />
    <classpathentry kind="output" path="${outputDir}"/>
    <ant:echo>Setting default output directory to ${outputDir}</ant:echo>
  </classpath>

</j:whitespace>
