<?xml version="1.0"?>
<!--
 Copyright  2005 The Apache Software Foundation
 
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
 
      http://www.apache.org/licenses/LICENSE-2.0
 
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<project default="compile">

  <target name="setup">
    <property name="build" value="build"/>
    <property name="build.classes" value="${build}/classes"/>
    <property name="build.testclasses" value="${build}/test-classes"/>
    <property name="build.lib" value="${build}/lib"/>
    <property name="jarname" value="${build.lib}/ant-svn.jar"/>
    <mkdir dir="${build.classes}"/>
    <mkdir dir="${build.testclasses}"/>
    <mkdir dir="${build.lib}"/>
  </target>

  <target name="compile" depends="setup">
    <javac 
      srcdir="src/main"
      destdir="${build.classes}"
      debug="true"
      />
  </target>

  <target name="antlib" depends="compile">
    <copy todir="${build.classes}">
      <fileset dir="src/main" includes="**/antlib.xml"/>
    </copy>
    <jar 
      destfile="${jarname}"
      basedir="${build.classes}"
      />
  </target>

  <target name="setup-for-tests" depends="setup">
    <ant 
      antfile="../../../build.xml" 
      target="test-jar" 
      inheritall="false"
      />
  </target>

  <target name="compile-tests" depends="setup-for-tests, antlib">
    <javac 
      srcdir="src/testcases"
      destdir="${build.testclasses}"
      debug="true"
      >
      <classpath>
        <pathelement location="${jarname}"/>
        <pathelement location="../../../build/lib/ant-testutil.jar"/>
      </classpath>
    </javac>
  </target>

  <target name="test" depends="compile-tests">
    <junit
      printsummary="false"
      haltonfailure="false"
      failureproperty="tests.failed"
      filtertrace="false"
      >
      <classpath>
        <pathelement location="${jarname}"/>
        <pathelement location="../../../build/lib/ant-testutil.jar"/>
        <pathelement location="${build.testclasses}"/>
      </classpath>

      <batchtest>
        <fileset dir="src/testcases"/>
      </batchtest>

      <formatter type="plain" usefile="false"/>
    </junit>

    <fail if="tests.failed">At least one test has failed.</fail>
  </target>
</project>