web-dev-qa-db-ja.com

Antタスクの複数依存

「すべて」、「コンパイル」、「jsps」の3つのターゲットがある場合、「すべて」を他の2つに依存させる方法

そうでしょうか

<target name="all" depends="compile,jsps">

それとも

<target name="all" depends="compile","jsps">

それとも何か違うのでしょうか?

私はそれをベースにした例のantスクリプトを検索しようとしましたが、複数の依存関係を持つものを見つけることができませんでした。

37
corsiKa

前者:

<target name="all" depends="compile,jsps">

これは Ant Manual に文書化されています。

69
Brett Kail

一番上です。

自分ですぐに確認したい場合は、echoタグを使用してください

<target name="compile"><echo>compile</echo></target>

<target name="jsps"><echo>jsps</echo></target>

<target name="all" depends="compile,jsps"></target>

タスクの順序をより柔軟にしたい場合は、antcallタグを見ることができます

11
laher
<target name="all" depends="compile,jsps">

これは Ant Manual に文書化されています。

10
Don Roby

別の方法は、依存するターゲットを並行して実行したい場合により柔軟なantcallを使用することです。 compileとjspsを並列に(つまり、任意の順序で)実行できると仮定すると、すべてのターゲットは次のように記述できます。

<target name="all" description="all target, parallel">
  <parallel threadCount="2">
    <antcall target="compile"/>
    <antcall target="jsps"/>
  </parallel>
</target>

ターゲットを並行して実行できない場合、antcallsは実行時にのみ解決され、呼び出されたターゲットが存在しない場合、ビルドはその時点でのみ失敗するため、depend属性を持つ最初のフレーバーを使用することをお勧めします。

3
Phil