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

<project name="app"  basedir="." default="all">
  <!-- 変数 -->
  <property name="app.home" location="."/>
  <property name="app.lib"   location="${app.home}/lib"/>
  <property name="app.class" location="${app.home}/build"/>
  <property name="app.src"   location="${app.home}/src"/>
  <property name="app.dist"   location="${app.home}/dist"/>
  
  <property name="app.jar" location="${app.home}/app.jar"/>
  <property name="app.manifest" location="${app.home}/manifest.txt"/>
  
  <property name="app.java.version" value="1.6"/>
  <property name="app.test.class" value="TestAll"/>
  
  <path id="classpath">
    <fileset dir="${app.lib}" includes="**/*.jar"/>
    <pathelement location="${app.class}"/>
  </path>
  
  <!-- クリーン処理 -->
  <target name="clean" >
    <delete dir="${app.class}"/>
  </target>
  
  <!-- リソースファイルコピー -->
  <target name="copyResource" >
    <mkdir dir="${app.class}"/>
    <copy todir="${app.class}">
      <fileset dir="${app.src}">
        <exclude name="**/*.java"/>
        <exclude name="**/*.form"/>
      </fileset>
    </copy>
  </target>
  
  <!-- Javaのコンパイル -->
  <target name="compile" >
    <antcall target="copyResource"/>
    <mkdir dir="${app.class}"/>
    
    <javac includeantruntime="false" srcdir="${app.src}" target="${app.java.version}" source="${app.java.version}" destdir="${app.class}" encoding="UTF-8">
      <classpath refid="classpath" />
    </javac>
  </target>
  
  <!-- jarファイルの作成 -->
  <target name="jar">
    <jar basedir="${app.class}" jarfile="${app.jar}" manifest="${app.manifest}" />
  </target>
  
  <!-- ドキュメント作成 -->
  <target name="javadoc" >
    <javadoc encoding="UTF-8" 
      access="private" charset="UTF-8" 
      docencoding="UTF-8"
      destdir="${app.dist}/javadoc">
      <sourcepath path="${app.src}" />
    </javadoc>
  </target>
  
  <!-- Unit-Test -->
  <target name="UnitTest" >
    <!-- JUnitによるテストを実行 -->
    <!--<junit fork="yes" haltonfailure="yes">
    <test name="${app.test.class}" />
    <formatter type="xml" usefile="true" />
    <classpath refid="classpath" />
    </junit>-->
    
    <mkdir dir="report"/>
    <junit fork="yes" haltonfailure="yes">
      <batchtest fork="yes" todir="report">
        <fileset dir="${app.class}">
          <include name="**/Test*.class"/>
          <exclude name="**/TestAll.class"/>
        </fileset>
      </batchtest>
      <formatter type="xml"/>
      <classpath refid="classpath" />
    </junit>
  </target>
  
  <!-- デフォルトターゲット -->
  <target name="all" depends="compile,jar">
  </target>
  
</project>