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

<!-- NOTE: ${libdir} に javamail-1.3.1.jar、jaf-1.0.2.jar を含めないと、実行しても失敗します。 -->

<project default="jar" name="ozacc-mail" basedir=".">
  <property name="defaulttargetdir" value="${basedir}/target">
  </property>
  <property name="libdir" value="${basedir}/target/lib">
  </property>
  <property name="classesdir" value="${basedir}/target/classes">
  </property>
  <property name="testclassesdir" value="${basedir}/target/test-classes">
  </property>
  <property name="testclassesdir" value="${basedir}/target/test-classes">
  </property>
  <property name="testreportdir" value="${basedir}/target/test-reports">
  </property>
  <property name="distdir" value="dist">
  </property>
  <property name="javadocdir" value="dist/docs/api">
  </property>
  <property name="final.name" value="ozacc-mail-1.0">
  </property>
  <target name="init" description="o Initializes some properties">
    <mkdir dir="${libdir}">
    </mkdir>
    <condition property="noget">
      <equals arg2="only" arg1="${build.sysclasspath}">
      </equals>
    </condition>
  </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>
        <fileset dir="${libdir}">
          <include name="*.jar">
          </include>
        </fileset>
      </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" depends="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>
        <fileset dir="${libdir}">
          <include name="*.jar">
          </include>
        </fileset>
        <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="compile-tests" depends="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>
        <fileset dir="${libdir}">
          <include name="*.jar">
          </include>
        </fileset>
        <pathelement path="${classesdir}">
        </pathelement>
      </classpath>
    </javac>
  </target>
  <target name="javadoc" description="o Generate javadoc">
    <mkdir dir="${javadocdir}">
    </mkdir>
    <tstamp>
      <format pattern="2004-yyyy" property="year">
      </format>
    </tstamp>
    <property name="copyright" value="Copyright &amp;copy;  OZACC. All Rights Reserved.">
    </property>
    <property name="title" value="ozacc-mail library 1.0 API">
    </property>
    <javadoc use="true" private="true" destdir="${javadocdir}" author="true" version="true" sourcepath="src/java" packagenames="com.ozacc.mail.*">
      <classpath>
        <fileset dir="${libdir}">
          <include name="*.jar">
          </include>
        </fileset>
        <pathelement location="${defaulttargetdir}/${final.name}.jar">
        </pathelement>
      </classpath>
    </javadoc>
  </target>
  <target name="get-deps" unless="noget" depends="init">
  	<!--
    <get dest="${libdir}/javamail-1.3.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/javamail/jars/javamail-1.3.1.jar">
    </get>
    <get dest="${libdir}/jaf-1.0.2.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/jaf/jars/jaf-1.0.2.jar">
    </get>
  	-->
    <get dest="${libdir}/commons-logging-1.0.4.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.4.jar">
    </get>
    <get dest="${libdir}/log4j-1.2.8.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/log4j/jars/log4j-1.2.8.jar">
    </get>
    <get dest="${libdir}/jdom-1.0.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/jdom/jars/jdom-1.0.jar">
    </get>
    <get dest="${libdir}/velocity-1.4.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/velocity/jars/velocity-1.4.jar">
    </get>
    <get dest="${libdir}/commons-collections-2.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-collections/jars/commons-collections-2.1.jar">
    </get>
    <get dest="${libdir}/spring-1.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/springframework/jars/spring-1.1.jar">
    </get>
    <get dest="${libdir}/junit-3.8.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/junit/jars/junit-3.8.1.jar">
    </get>
    <get dest="${libdir}/ant-1.5.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar">
    </get>
    <get dest="${libdir}/ant-optional-1.5.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/ant/jars/ant-optional-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>