2010-05-04 4 views
1

Basé sur http://ant.apache.org/manual/Types/mapper.htmlAnt scriptmapper ne fonctionne pas comme annoncé?

Voilà mon objectif:

<target name="ms.copy-example"> 
    <copy todir="${ms.custom}"> 
    <fileset dir="${ms.example}"> 
    <include name="build.xml" /> 
    </fileset> 
    <scriptmapper language="javascript"> 
    self.addMappedName("dir1/"+source); 
    self.addMappedName("dir2/"+source); 
    self.addMappedName("dir3/"+source); 
    </scriptmapper> 
    </copy> 
</target> 

Je suis en train de copier un fichier à trois endroits. Je n'ai pas besoin d'utiliser un scriptmapper pour le faire, mais je n'ai pas vu d'autre moyen de le faire. Qu'est-ce qui se passe, cependant, c'est qu'il copie seulement le fichier dans le premier répertoire dans la liste (dir1) et pas les deux autres (dir2, dir3).

Des suggestions?

Répondre

2

Le scriptmapper travaille, mais par défaut, la tâche copy que des copies à un (à savoir le premier tracé) cible. Pour obtenir votre exemple pour travailler, ajouter enablemultiplemappings="true" ou similaire à la copie:

<copy todir="${ms.custom}" enablemultiplemappings="true"> 

De la documentation pour copy option tâche enablemultiplemappings:

Si cela est vrai la tâche traitera à tous les correspondances pour un chemin source donné. Si la valeur est false, la tâche ne traitera que le premier fichier ou répertoire de . Cet attribut n'est pertinent que s'il existe un sous-élément de mappage. (depuis Ant 1.6.)

+0

belle - merci – andersonbd1

Questions connexes