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

<!--build.xml generated by maven from project.xml version 1.2-RC2
  on date April 24 2008, time 1634-->

<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.2-RC2">
  </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>
      </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.2-RC2 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.-->

    <echo>Proxy used :</echo>
    <echo>Proxy host [${proxy.host}]</echo>
    <echo>Proxy port [${proxy.port}]</echo>
    <echo>Proxy user [${proxy.username}]</echo>
    <setproxy proxyuser="${proxy.username}" proxyport="${proxy.port}" proxypassword="${proxy.password}" proxyhost="${proxy.host}">
    </setproxy>
    <get dest="${libdir}/maven-cobertura-plugin-1.1.1.jar" usetimestamp="true" ignoreerrors="true" src="http://repo1.maven.org/maven/maven-plugins/plugins/maven-cobertura-plugin-1.1.1.jar">
    </get>
    <get dest="${libdir}/maven-xdoc-plugin-1.9.2.jar" usetimestamp="true" ignoreerrors="true" src="http://repo1.maven.org/maven/maven/plugins/maven-xdoc-plugin-1.9.2.jar">
    </get>
  </target>
  <target name="noProxy" unless="useProxy" depends="init">
    <echo>Proxy not used.</echo>
  </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>