Antでプロパティーが定義されていない場合に処理を中断させられないかと思って調べた結果、targetタスクにunlessとifという属性があるのを知った。これとdependsを組み合わせれば、中断させることが出来る。
<target name="check" unless="プロパティー名">
<fail message="プロパティーが定義されていません" />
</target>
<target name="do" depends="check">
~
</taget>
つーかよく見たら、failにも条件判断をする属性(ifとunless)があるし!(爆)
うああ、上のようなのを考えるなんて恥ずかしい(苦笑)
存在チェックでなく、特定の値かどうか知りたい場合はconditionタスクのequalsとかmatchesが使える。
conditionに指定できる条件はAntのバージョンが上がるに従って色々増えている(xorなんか何に使うんだ^^;)ので、ちょっと見ておくといいかも。
それにしても、condition系は条件を満たさなかった場合に無処理だというのがちょっと不満。
しかも(今回初めて知ったけど)、Antって、一度定義したプロパティーを変更・削除することが出来ないみたいなのな。ちょっと不思議な仕様な気がする。
つまり、conditionチェックを複数行いたくても、同じプロパティー名を使い回せない…ちょっと不便では…?
※コメント投稿者のブログIDはブログ作成者のみに通知されます