<?xml version="1.0"?>

<project name="JUnit" default="test" basedir=".">

    <!-- path to root -->
    <property name="home.dir" value="."/>
    <property name="lib.dir" value="${home.dir}/lib"/>
    <property name="classes.dir" value="${home.dir}/classes"/>
    <property name="src.dir" value="${home.dir}/src"/>
    <property name="test.src.dir" value="${home.dir}/test"/>
    <!--<property name="test.class.name" value="junit4.CalculatorTest"/>-->
    <property name="test.class.name" value="junit4.SquareTest"/>
    <!--<property name="test.class.name" value="junit4.AllCalculatorTests"/>-->

    <!-- Classes and Jars used to compile and test the application -->
    <path id="classpath">
        <pathelement location="${classes.dir}"/>
        <pathelement location="${lib.dir}\junit4.1.jar"/>
    </path>

    <!-- Removes the build directories -->
    <target name="clean">
        <echo message="Cleans the environment"/>
        <delete dir="${classes.dir}"/>
    </target>

    <!-- Compiles source code -->
    <target name="compile" depends="clean">
        <mkdir dir="${classes.dir}"/>
        <echo message="Compile the classes"/>
        <javac srcdir="${src.dir}"
               destdir="${classes.dir}">
            <classpath refid="classpath"/>
        </javac>
        <echo message="Compile the test classes"/>
        <javac srcdir="${test.src.dir}"
               destdir="${classes.dir}">
            <classpath refid="classpath"/>
        </javac>
    </target>

    <!-- Test -->
    <target name="test" depends="compile">
        <junit fork="yes" haltonfailure="yes">
            <test name="${test.class.name}"/>
            <formatter type="plain" usefile="false"/>
            <classpath refid="classpath"/>
        </junit>
    </target>

</project>