<project name="cuery" default="jar" basedir=".">
  <property file="${user.home}/.m2/maven.properties"/>
  <property name="maven.build.output" value="target/classes"/>
  <property name="maven.build.directory" value="target"/>
  <property name="maven.build.final.name" value="cuery-0.6"/>
  <property name="maven.test.reports" value="${maven.build.directory}/test-reports"/>
  <property name="maven.test.output" value="target/test-classes"/>
  <property name="maven.repo.local" value="lib"/>
  <path id="build.classpath">
    <fileset dir="${maven.repo.local}">
      <include name="junit-3.8.1.jar"/>
      <include name="sac-1.3.jar"/>
      <include name="commons-lang-2.1.jar"/>
    </fileset>
  </path>
  <target name="clean" description="Clean the output directory">
    <delete dir="${maven.build.directory}"/>
  </target>
  <target name="compile" description="Compile the code">
    <mkdir dir="${maven.build.output}"/>
    <javac destdir="${maven.build.output}" excludes="**/package.html" debug="true" deprecation="true" optimize="false">
      <src>
        <pathelement location="src/main/java"/>
      </src>
      <classpath refid="build.classpath"/>
    </javac>
  </target>
  <target name="jar" depends="compile,test" description="Clean the JAR">
    <jar jarfile="${maven.build.directory}/${maven.build.final.name}.jar" basedir="${maven.build.output}" excludes="**/package.html"/>
  </target>
  <target name="compile-tests" depends="junit-present, compile" description="Compile the test code" if="junit.present">
    <mkdir dir="${maven.test.output}"/>
    <javac destdir="${maven.test.output}" excludes="**/package.html" debug="true" deprecation="true" optimize="false">
      <src>
        <pathelement location="src/test/java"/>
      </src>
      <classpath>
        <path refid="build.classpath"/>
        <pathelement location="${maven.build.output}"/>
      </classpath>
    </javac>
  </target>
  <target name="test" depends="junit-present, compile-tests" if="junit.present" description="Run the test cases">
    <mkdir dir="${maven.test.reports}"/>
    <junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir=".">
      <sysproperty key="basedir" value="."/>
      <formatter type="xml"/>
      <formatter type="plain" usefile="false"/>
      <classpath>
        <path refid="build.classpath"/>
        <pathelement location="${maven.build.output}"/>
        <pathelement location="${maven.test.output}"/>
        <pathelement location="src/main/java"/>
      </classpath>
      <batchtest todir="${maven.test.reports}">
        <fileset dir="src/test/java">
          <include name="**/*Test.java"/>
          <exclude name="**/*Abstract*Test.java"/>
        </fileset>
      </batchtest>
    </junit>
  </target>
  <target name="test-junit-present">
    <available classname="junit.framework.Test" property="junit.present"/>
  </target>
  <target name="junit-present" depends="test-junit-present" unless="junit.present">
    <echo>================================= WARNING ================================</echo>
    <echo> Junit isn&apos;t present in your $ANT_HOME/lib directory. Tests not executed. </echo>
    <echo>==========================================================================</echo>
  </target>
</project>