ファイルが存在するかしないかでの分岐
Antで、ファイルが存在する場合としない場合で分岐したい。
分岐には前に試したAnt-ContribのIfタスクを使えばいいけど、分岐の条件節をどのようにすればよいかが悩ましい。
単一のファイルが存在するかどうかだったら、とりあえずはavailableタスクでできる。
<taskdef resource="net/sf/antcontrib/antlib.xml"
classpath="lib/ant-contrib-0.6.jar" />
あるよ
ないよーん
でも例えば、指定したディレクトリに*.javaがあるかどうかだと、
これといったタスクが見つからない。イメージとしては、filesetで指定された
ファイルの数を見てくれるようなものがほしいんだけど・・・。
というわけで、無理やりlengthでやってみた。
<taskdef resource="net/sf/antcontrib/antlib.xml"
classpath="lib/ant-contrib-0.6.jar" />
あるよ
ないよーん
lengthは、前にこの日記で試したとおり。ファイルを指定した場合は、ファイルの容量って意味になる。
そして、filesetで複数ファイルを指定した場合は、それらのファイル容量の合計となる。
なので、ファイルの容量の合計が0より大きいかどうかで分岐させてみた。
弱点は、所詮はファイルの容量なので、空のファイルがあっても0になってしまうこと。
しゃーないか・・・。
というか、もっといい方法ないっすか?