2009-03-13 5 views
4

Comment prendre les valeurs d'argument pour une tâche définie dans une liste (de valeurs) sans avoir à réécrire la tâche pour chaque valeur d'argument?Comment distribuer chaque élément d'une liste à l'argument d'une tâche Ant?

Exemple: Je veux éviter d'avoir à réécrire trois fois la même tâche pour l'écho trois valeurs différentes (valeur 1, valeur 2, valeur 3):

<exec executable="cmd"> 
    <arg value="/c"/> 
    <arg value="value 1"/> 
</exec> 

<exec executable="cmd"> 
    <arg value="/c"/> 
    <arg value="value 2"/> 
</exec> 

<exec executable="cmd"> 
    <arg value="/c"/> 
    <arg value="value 3"/> 
</exec> 

Merci

Répondre

7

Vous pourriez utilisez le MacroDef task pour extraire la partie commune de votre tâche:

<macrodef name="myMacro"> 
    <attribute name="value"/> 
    <sequential> 
     <exec executable="cmd"> 
      <arg value="/c"/> 
      <arg value="@{value}"/> 
     </exec> 
    </sequential> 
</macrodef> 

<myMacro value="value 1"/> 
<myMacro value="value 2"/> 
<myMacro value="value 3"/> 
Questions connexes