web-dev-qa-db-fra.com

Le multiple dépend de la tâche de la fourmi

Si j'ai trois cibles, une "toutes", une "compilation" et une "jsps", comment puis-je faire dépendre "toutes" des deux autres

Serait-ce

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

ou serait-ce

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

Ou peut-être quelque chose de même différent?

J'ai essayé de rechercher des exemples de scripts ant pour les baser, mais je n'ai pas pu en trouver un avec plusieurs dépendances.

37
corsiKa

L'ancien:

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

Ceci est documenté dans le Ant Manual .

69
Brett Kail

C'est le top.

Utilisez simplement la balise echo si vous voulez voir rapidement par vous-même

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

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

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

Vous pouvez également consulter la balise antcall si vous souhaitez plus de flexibilité dans la commande des tâches

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

Ceci est documenté dans le Ant Manual .

10
Don Roby

Une autre manière consiste à utiliser antcall qui est plus flexible si vous souhaitez exécuter les cibles dépendantes en parallèle. En supposant que la compilation et jsps peuvent être exécutés en parallèle (c'est-à-dire dans n'importe quel ordre), toutes les cibles peuvent être écrites comme suit:

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

Notez que si les cibles ne peuvent pas être exécutées en parallèle, il est préférable d'utiliser la première saveur avec l'attribut depend car les appels ne sont résolus que lorsqu'ils sont exécutés et si la cible appelée n'existe pas, la génération échouera uniquement à ce point.

4
Phil