読者です 読者をやめる 読者になる 読者になる

antの知識を整理する

java

ごっちゃになるので、ここで整理。ディレクトリ以下のファイルをすべて対象とするのは、filesetタグを使う。ここではaaaディレクトリ以下のファイルすべてを指定する。

 <fileset dir="aaa" />

上の記法だと全部が対象になっちゃうんだけど、やっぱり一部だけ指定したい、除外したいってこともある。それがinclude/exculde要素。ここでは、aaaディレクトリ以下の*.jarファイルを対象として、でも*Test.jarは対象外ってことになる。includeよりもexcludeが強いって覚えておくこと。

 <fileset dir="aaa">
    <include name="*.jar" />
    <exclude name="*Test.jar" />
 </fileset>

pathelementってタグもあって、location属性は単一のファイル、path属性は複数ファイルを示す。

 <pathelement location="bbb.jar" />
 <pathelement path="bbb.jar:ccc.jar" />

パスの集合に名前(ID)をつけて、後でrefidで参照することができる。

 <path id="1">
   <pathelement location="bbb.jar" />
   <pathelement path="ccc.jar:ddd.jar" />
 </path>

 <javac srcdir="./src" destdir="./classes">
   <classpath refid="1" />
 </javac>

filesetはファイルの集合だけど、ディレクトリの集合を表すdirsetってものもある。以下の例は、aaaディレクトリのサブディレクトリapps以下にある、名前にtestを含まないclassesってディレクトリを示す。

 <dirset dir="aaa">
   <include name="apps/**/classes" />
   <exclude name="apps/**/*test*" />
 </dirset>

とりあえず、雑多にまとめてみました。