2010-05-22 6 views
35

Si j'ai trois cibles, un « tout », une « compilation » et un « jsps », comment pourrais-je faire « tous » dépendent les deux autresmultiples dépend dans la tâche de fourmi

Serait-il

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

ou serait-il

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

ou peut-être quelque chose de différent?

J'ai essayé de rechercher des exemples de scripts ant pour le baser, mais je ne pouvais pas en trouver un avec des dépendances multiples.

Répondre

68

L'ancien:

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

Ceci est documenté dans Ant Manual.

+4

Veillez à suivre les exemples ici et ne pas inclure d'espaces après la virgule (qui m'a attrapé). – joejag

+4

@joejag ma fourmi accepte avec ou sans espaces après la virgule; Quelle version utilisez-vous? –

11

C'est le top.

Il suffit d'utiliser la balise echo si vous voulez voir rapidement pour vous

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

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

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

Vous pouvez également regarder l'étiquette antcall si vous voulez plus de flexibilité sur les tâches ordonnant

+1

Apprenez à un homme à pêcher ... –

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

Ceci est documenté dans Ant Manual.

2

Une alternative est d'utiliser antappel qui est plus flexible si vous voulez exécuter les cibles dépendantes en parallèle. En supposant compilent et jsps peuvent être exécutés en parallèle (dans un ordre quelconque), tous cible peut être écrit:

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

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

Questions connexes