<?xml version="1.0"?>
<project name="tck" default="default">

  <!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
  <!--                   compile settings                -->
  <!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
  <property name="build.debug" value="on"/>
  
  <!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
  <!--                   directories                     -->
  <!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
  <property name="src.dir" value="src"/>
  <property name="build.dir" value="build"/>
  <property name="build.classes.dir" value="${build.dir}/classes"/>
  <property name="dist.dir" value="dist"/>

  <!-- javadoc properties -->
  <property name="javadoc.dir" value="doc"/>
  <property name="javadoc.packages" value="org.codehaus.groovy.*"/>

  <!-- junit properties -->
  <property name="junit.style.dir" value="styles"/>
  <property name="testcase.src.dir" value="test"/>
  <property name="generated.test.src.dir" value="gentest"/>
  
  <property name="test.classes.dir" value="${build.dir}/test/classes"/>

  <!-- TODO: here you specify where the classes to test reside -->
  <property name="items.under.test.dir" value="../../target/install/lib"/>
  
  <property name="test.reports.dir" value="reports"/>
  
  <!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
  <!--                  targets                          -->
  <!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
  <target name="default" 
          depends="clean,test-compile" 
          description="default: run the groovy test suite"
  />
  
  <target name="all" 
          depends="test,dist" 
          description="build and test everything"
  />

  <target name="clean" description="remove all built files">
    <delete dir="${javadoc.dir}" />
    <delete dir="${build.dir}" />
    <delete dir="${dist.dir}" />
    <delete dir="${generated.test.src.dir}" />
  </target>

  <target name="dist" 
          depends="compile" 
          description="create distributables (jars etc)">
    <mkdir dir="${dist.dir}" />
    <jar jarfile="${dist.dir}/tck.jar" 
         manifest="${src.dir}/manifest.txt">
      <fileset dir="${build.classes.dir}"/>
    </jar>
  </target>

  <target name="docs" depends="init" description="generate documentation">
    <mkdir dir="${javadoc.dir}" />
    <javadoc sourcepath="${src.dir}" 
             destdir="${javadoc.dir}" 
             packagenames="${javadoc.packages}"
             use="true"
             windowtitle="tck"
             private="true"/>
  </target>

  <target name="run" depends="compile" description="compile and run">
    <java classname="org.codehaus.groovy.tck.GenerateTestCases" 
          fork="yes" 
          classpathref="project.classpath"/>
  </target>

  <target name="plain-test"
          depends="test-compile" 
          description="run all test cases">
    <junit haltonfailure="true" fork="no">
      <classpath refid="project.classpath"/>
      <formatter type="plain" usefile="false"/>
      <formatter type="xml" usefile="true"/>
      <batchtest todir="${test.reports.dir}">
        <fileset dir="${test.classes.dir}">
          <include name="**/*Test.class" />
        </fileset>
      </batchtest>
    </junit>
  </target>
        
  <target name="test" 
          depends="test-compile" 
          description="HTML output of test cases">
    <mkdir dir="${test.reports.dir}"/>
    <junit haltonfailure="false" fork="no">
      <classpath refid="project.classpath"/>
      <formatter type="xml" usefile="true"/>

      <batchtest todir="${test.reports.dir}">
        <fileset dir="${test.classes.dir}">
            <include name="**/*Test.class" /> 
        </fileset>
      </batchtest>

    </junit>

    <junitreport todir="${test.reports.dir}">
      <fileset dir="${test.reports.dir}">
        <include name="TEST-*.xml"/>
      </fileset>
      <report format="frames" styledir="${junit.style.dir}" todir="${test.reports.dir}"/>
    </junitreport>
    <echo>
+-------------------------+
| open reports/index.html |
+-------------------------+
</echo>
  </target>



  <target name="compile" depends="init" description="compile java and groovy sources">
    <mkdir dir="${build.classes.dir}" />

    <groovyc destdir="${build.classes.dir}"
             srcdir="${src.dir}"
             listfiles="true">
        <classpath refid="project.classpath"/>
    </groovyc>

    <javac srcdir="${src.dir}"
           destdir="${build.classes.dir}"
           classpathref="project.classpath"
           debug="${build.debug}"
           deprecation="on"/>
  </target>

    <target name="generate" depends="dist" description="generate test cases">
      <mkdir dir="${generated.test.src.dir}" />
      <taskdef name="gentests" classname="org.codehaus.groovy.tck.GenerateTestCases" classpathref="project.classpath"/>

      <gentests destdir="${generated.test.src.dir}"
                srcdir="${testcase.src.dir}"
                listfiles="true"/>
    </target>

  <target name="test-compile" depends="generate" description="compile tests">
    <mkdir dir="${test.classes.dir}" />
    <javac srcdir="${generated.test.src.dir}"
           destdir="${test.classes.dir}" 
           classpathref="project.classpath" 
           debug="${build.debug}" 
           deprecation="on">
    </javac>
  </target>

  <target name="independent-test-compile" depends="generate" description="compile tests">
    <mkdir dir="${test.classes.dir}" />
    <javac srcdir="${generated.test.src.dir}"
           destdir="${test.classes.dir}" 
           classpathref="project.classpath" 
           debug="${build.debug}" 
           deprecation="on">
    </javac>
  </target>

  <target name="init" depends="init.sub.build,init.independent.build">
    <tstamp/>
  </target>

  <!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
  <!--                     Datatypes                     -->
  <!-- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->

  <!-- this target is performed we are within a maven build -->
  <target name="init.sub.build" if="maven.compile.source">

    <path id="project.classpath">
      <pathelement location="${test.classes.dir}"/>
      <path refid="passed.classpath"/>
      <pathelement location="${build.classes.dir}"/>
    </path>
  
  </target>

  <!-- this target is performed when ant is called from command line -->
  <target name="init.independent.build" unless="maven.compile.source">

    <path id="project.classpath">
      <pathelement location="${test.classes.dir}"/>
      <pathelement location="${build.classes.dir}"/>
      <fileset dir="${items.under.test.dir}">
        <include name="**/*.jar" />
      </fileset>
    </path>

  </target>
       
</project>
