<?xml version="1.0" encoding="UTF-8"?>

<!--build.xml generated by maven from project.xml version 1.1-dev
  on date December 12 2004, time 2150-->

<project default="jar" name="commons-math" basedir=".">
  <property name="defaulttargetdir" value="target">
  </property>
  <property name="libdir" value="target/lib">
  </property>
  <property name="classesdir" value="target/classes">
  </property>
  <property name="testclassesdir" value="target/test-classes">
  </property>
  <property name="testclassesdir" value="target/test-classes">
  </property>
  <property name="testreportdir" value="target/test-reports">
  </property>
  <property name="distdir" value="dist">
  </property>
  <property name="javadocdir" value="dist/docs/api">
  </property>
  <property name="final.name" value="commons-math-1.1-dev">
  </property>
  <path id="build.classpath">
    <fileset dir="${libdir}">
      <include name="**/*.jar">
      </include>
    </fileset>
  </path>
  <target name="init" description="o Initializes some properties">
    <mkdir dir="${libdir}">
    </mkdir>
    <condition property="noget">
      <equals arg2="only" arg1="${build.sysclasspath}">
      </equals>
    </condition>
    <!--Test if JUNIT is present in ANT classpath-->

    <available property="Junit.present" classname="junit.framework.Test">
    </available>
  </target>
  <target name="compile" description="o Compile the code" depends="get-deps">
    <mkdir dir="${classesdir}">
    </mkdir>
    <javac destdir="${classesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html">
      <src>
        <pathelement location="src/java">
        </pathelement>
      </src>
      <classpath refid="build.classpath">
      </classpath>
    </javac>
    <mkdir dir="${classesdir}/META-INF">
    </mkdir>
    <copy todir="${classesdir}/META-INF">
      <fileset dir=".">
        <include name="NOTICE.txt">
        </include>
        <include name="LICENSE.txt">
        </include>
      </fileset>
    </copy>
  </target>
  <target name="jar" description="o Create the jar" depends="compile,test">
    <jar jarfile="${defaulttargetdir}/${final.name}.jar" excludes="**/package.html" basedir="${classesdir}">
    </jar>
  </target>
  <target name="clean" description="o Clean up the generated directories">
    <delete dir="${defaulttargetdir}">
    </delete>
    <delete dir="${distdir}">
    </delete>
  </target>
  <target name="dist" description="o Create a distribution" depends="jar, javadoc">
    <mkdir dir="dist">
    </mkdir>
    <copy todir="dist">
      <fileset dir="${defaulttargetdir}" includes="*.jar">
      </fileset>
      <fileset dir="${basedir}" includes="LICENSE*, README*">
      </fileset>
    </copy>
  </target>
  <target name="test" description="o Run the test cases" if="test.failure" depends="internal-test">
    <fail message="There were test failures.">
    </fail>
  </target>
  <target name="internal-test" if="Junit.present" depends="junit-present,compile-tests">
    <mkdir dir="${testreportdir}">
    </mkdir>
    <junit dir="./" failureproperty="test.failure" printSummary="yes" fork="true" haltonerror="true">
      <sysproperty key="basedir" value=".">
      </sysproperty>
      <formatter type="xml">
      </formatter>
      <formatter usefile="false" type="plain">
      </formatter>
      <classpath>
        <path refid="build.classpath">
        </path>
        <pathelement path="${testclassesdir}">
        </pathelement>
        <pathelement path="${classesdir}">
        </pathelement>
      </classpath>
      <batchtest todir="${testreportdir}">
        <fileset dir="src/test">
          <include name="**/*Test.java">
          </include>
          <exclude name="**/*AbstractTest.java">
          </exclude>
        </fileset>
      </batchtest>
    </junit>
  </target>
  <target name="junit-present" unless="Junit.present" depends="init">
    <echo>================================= WARNING ================================</echo>
    <echo>Junit isn't present in your ${ANT_HOME}/lib directory. Tests not executed.</echo>
    <echo>==========================================================================</echo>
  </target>
  <target name="compile-tests" if="Junit.present" depends="junit-present,compile">
    <mkdir dir="${testclassesdir}">
    </mkdir>
    <javac destdir="${testclassesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html">
      <src>
        <pathelement location="src/test">
        </pathelement>
      </src>
      <classpath>
        <path refid="build.classpath">
        </path>
        <pathelement path="${classesdir}">
        </pathelement>
      </classpath>
    </javac>
    <copy todir="${testclassesdir}">
      <fileset dir="src/test">
        <include name="**/*.xml">
        </include>
        <include name="**/*.txt">
        </include>
      </fileset>
    </copy>
  </target>
  <target name="javadoc" description="o Generate javadoc" depends="get-deps">
    <mkdir dir="${javadocdir}">
    </mkdir>
    <tstamp>
      <format pattern="2003-yyyy" property="year">
      </format>
    </tstamp>
    <property name="copyright" value="Copyright &amp;copy;  The Apache Software Foundation. All Rights Reserved.">
    </property>
    <property name="title" value="Math 1.1-dev API">
    </property>
    <javadoc use="true" private="true" destdir="${javadocdir}" author="true" version="true" sourcepath="src/java" packagenames="org.apache.commons.math.*">
      <classpath>
        <path refid="build.classpath">
        </path>
      </classpath>
    </javadoc>
  </target>
  <target name="get-deps" unless="noget" depends="init">
    <!--Proxy settings works only with a JDK 1.2 and higher.-->

    <setproxy>
    </setproxy>
    <get dest="${libdir}/commons-logging-1.0.3.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.3.jar">
    </get>
    <get dest="${libdir}/commons-discovery-0.2.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-discovery/jars/commons-discovery-0.2.jar">
    </get>
  </target>
  <target name="install-maven">
    <get dest="${user.home}/maven-install-latest.jar" usetimestamp="true" src="${repo}/maven/maven-install-latest.jar">
    </get>
    <unjar dest="${maven.home}" src="${user.home}/maven-install-latest.jar">
    </unjar>
  </target>
</project>