バッチファイルからのAntの実行
バッチファイルで、Antを実行する処理を書いて実行すると、
そのAnt実行の次の行以降のバッチファイルの処理が実行されない。
というよりかは、Antの実行が終了するとバッチファイルの処理が残っていても
そこで終わってしまう。
まずはこの状況から。
ビルドファイル(buildTest.xml)は、こんな内容。
<?xml version="1.0" encoding="Shift_JIS"?>
そして、バッチファイル。
ant -f buildTest.xml
echo Hello BATCH
これを実行すると・・・
というわけで、バッチファイル内のecho文が実行されていないことがわかる。
Buildfile: buildTest.xmlecho:
[echo] Hello AntBUILD SUCCESSFUL
Total time: 0 seconds
解決方法は、どうやらAnt実行時に、callを付ければいいらしい。
つまり、こんな感じ。
call ant -f buildTest.xml
echo Hello BATCH
この実行結果。
おぉ、バッチファイルのechoが実行されてるっす。
Buildfile: buildTest.xmlecho:
[echo] Hello AntBUILD SUCCESSFUL
Total time: 0 seconds
Hello BATCH
というわけで。実は理由はよくわからん。
Ant起動といっても内部的にはant.batを実行しているだけであり、
バッチファイルを起動するときにcallを付けると、意味がちょっと変わるらしい。
詳しくは知らん。