2010-05-04 2 views
1

на основе http://ant.apache.org/manual/Types/mapper.htmlAnt scriptmapper не работает, как рекламируется?

Вот моя цель:

<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> 

Я пытаюсь скопировать один файл в трех местах. Мне не нужно использовать «scriptmapper» для этого, но я не видел другого способа сделать это. Однако происходит то, что он копирует файл только в в каталог в список (dir1), а не два других (dir2, dir3).

Любые предложения?

ответ

2

scriptmapper работает, но по умолчанию, задача copy только копии в одном (т.е. первой отображенной) мишени. Чтобы получить ваш пример работать, добавьте enablemultiplemappings="true" или похожие на копию:

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

Из документов для copy варианта задачи enablemultiplemappings:

Если истинная задача будет обрабатывать для всех отображения для данный исходный путь. Если false, задача будет обрабатывать только первый файл или каталог. Этот атрибут применим только в том случае, если существует подэлемент картера. (начиная с Ant 1.6.)

+0

10 прекрасный - спасибо – andersonbd1

Смежные вопросы