0

次の場合に実行されるターゲットがありますmy_step==true

<target name="pre-compile" if="my_step">
...
</target>

しかし、 の値に関係なく、プリコンパイル ターゲットを利用できるようにしたいmy_stepので、 を使用してアクションを手動で実行できant do_my_stepます。

<target name"-do_my_step">
...
</target>

質問。make pre-compile execute -do_my_step target を実行するにはどうすればよいですか? つまり、プロパティ my_step が true の場合、プリコンパイル ステップは -do_my_step ターゲットを実行します。明らかに、 -do_my_step ターゲットの内容をコピーしてプリコンパイル ターゲットに貼り付けることができますが、ターゲットをきれいに分離したままにします。

4

2 に答える 2

1

コマンドライン経由でターゲットを呼び出すことは不可能であるため、接頭辞「-」が付いたターゲット名は、ターゲットを「プライベート」にする一般的な方法です。ant -f yourbuildfile.xml -yourprivatetargetAnt コマンドライン インターフェースはオプションの先頭に「-」を使用するため、機能しません。したがって、ターゲット名から先頭の「-」を削除して、次のことant -f yourbuildfile.xml do_my_step
も考慮して
ください。「..質問。make pre-compile execute -do_my_step target を実行するにはどうすればよいですか? ..」
Ant には、同じターゲット内でターゲットを呼び出すためのantcallタスクがあります。ビルドスクリプト。しかし、antcall は新しいプロジェクト スコープを開き (そのため、より多くのメモリが必要になり、ビルドが遅くなります)、通常は<target name="..." depends"=...">.
antcallant 1以降は不要です。

于 2013-05-08T21:38:46.987 に答える
0
<target name="pre-compile" if="my_step" depends="-do_my_step">
...
</target>

pre-compile呼び出されると、-do_my_step前に実行されます。

于 2013-05-08T18:16:09.627 に答える