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

<!--build.xml generated by maven from project.xml version 1.0-dev
  on date November 23 2004, time 1811-->

<project default="jar" name="commons-email" basedir=".">
  <!-- Load local properties in the usual way -->
  <property file="build.properties"/>
  <property file="${user.home}/build.properties"/>
  <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-email-1.0-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>
  </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>
        </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>
  </target>
  <target name="javadoc" description="o Generate javadoc" depends="get-deps">
    <mkdir dir="${javadocdir}">
    </mkdir>
    <tstamp>
      <format pattern="2001-yyyy" property="year">
      </format>
    </tstamp>
    <property name="copyright" value="Copyright &amp;copy;  The Apache Software Foundation. All Rights Reserved.">
    </property>
    <property name="title" value="Commons Email 1.0-dev API">
    </property>
    <javadoc use="true" private="true" destdir="${javadocdir}" author="true" version="true" sourcepath="src/java" packagenames="org.apache.commons.mail.*">
      <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-lang-2.0.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-lang/jars/commons-lang-2.0.jar">
    </get>
<!-- Replace following two GETs because of license issues
    <get dest="${libdir}/javamail-1.3.2.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/java-mail/jars/javamail-1.3.2.jar">
    </get>
    <get dest="${libdir}/activation-1.0.2.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/activation/jars/activation-1.0.2.jar">
    </get>
-->
    <echo>================================= WARNING ================================</echo>
    <echo>Attempting to download non redistributable mail jars from sun.</echo>  	
    <echo>Make sure you supply $${javamail-1.3.2.url} properties.</echo>
    <echo>Make sure you supply $${activation-1.0.2.url} properties.</echo>  	
    <echo>==========================================================================</echo>
    	
    <get dest="${libdir}/javamail-1.3.2.jar" usetimestamp="true" ignoreerrors="true" src="${javamail-1.3.2.url}">
    </get>
    <get dest="${libdir}/activation-1.0.2.jar" usetimestamp="true" ignoreerrors="true" src="${activation-1.0.2.url}">
    </get>
    <get dest="${libdir}/dumbster-1.5.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/dumbster/jars/dumbster-1.5.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>
