Как <copy>в <macrodef>в муравье? - PullRequest
       4

Как <copy>в <macrodef>в муравье?

5 голосов
/ 04 августа 2009

Я пытаюсь скопировать файлы в макрос, например так:

<project name="why" default="go">
  <macrodef name="copy-some-stuff">
    <attribute name="file.name" />

    <copy todir="/var/tmp">
      <fileset file="${file.name}" />
    </copy>
  </macrodef>

  <target name="go">
    <copy-some-stuff file.name="/etc/hosts" />
  </target>
</project>

но я получаю следующее

BUILD FAILED
b.xml:3: macrodef doesn't support the nested "copy" element.

Любые идеи, кроме "yes, indeeed, macrodef", не поддерживают вложенный элемент "copy". " Я получил так много. Я ищу, почему это ограничение здесь и возможный обходной путь (без использования antcall).

1 Ответ

9 голосов
/ 04 августа 2009

Попробуйте окружить элемент <copy> <sequential>:

<macrodef name="copy-some-stuff">
   <attribute name="file.name" />
   <sequential>
      <copy todir="/var/tmp">
          <fileset file="@{file.name}" />
      </copy>
   </sequential>
</macrodef>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...