【Ant】 ファイル・ディレクトリを扱う

■ delete / copy / mkdir / fileset

 * delete  : ファイル・ディレクトリの削除
 * copy    : ファイル・ディレクトリのコピー
 * mkdir   : ディレクトリの作成
 * fileset :ファイルの集合を定義

サンプル

例1

 * mkdir / delete

build.xml

classディレクトリの削除/作成
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="init" name="SampleCodes">
  <target name="init" description="初期化">
    <property name="class.path" value="./class" />
    <delete dir="${class.path}"/>
    <mkdir dir="${class.path}"/>
  </target>
</project>

例2

 * copy / delete / fileset

build.xml

ディレクトリ「temp」内にあるJavaファイルをディレクトリ「src/com/sample」に移動
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="move" name="Common">
  <property name="copyTo" value="./temp" />
  <property name="copyFrom" value="./src/com/sample" />
  <target name="move" description="copy and delete">
    <copy todir="${copyTo}" overwrite="true">
       <fileset dir="${copyFrom}" includes="**/*.java" />
    </copy>
    <delete>
      <fileset dir="${copyFrom}" includes="**/*.java" />
    </delete>
   </target>
</project>

例3

build.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="sample" name="SampleCodes">
 <property name="target" value="csv" />
 <target name="sample">
  <fileset id="csvfiles" dir=".">
   <include name="${target}/*.csv" />
  </fileset>
  <property name="targetfiles" refid="csvfiles"/>
  <echo message="${targetfiles}"/>
 </target>  
</project>

フォルダ構成

 csv
  +- OperationResult.csv
  +- Sex.csv

出力結果

sample:
     [echo] csv\OperationResult.csv;csv\Sex.csv 
BUILD SUCCESSFUL
Total time: 373 milliseconds

参考文献

http://www.javadrive.jp/ant/copy/index2.html

関連記事

build.xml の書き方 ~task編~

http://blogs.yahoo.co.jp/dk521123/33891786.html

Antビルドのサンプルを作成してみる

 * いくつか使用している
http://blogs.yahoo.co.jp/dk521123/33914928.html