Как вызвать макрос Ant из другого макроса?

У меня есть build.xml, отсюда я вызываю макрос:

<import file="macro_file.xml" />
<ant-macro message="Hello, World!" />

и мой файл macro_file.xml выглядит так:

<macrodef name="ant-macro">
    <attributes name="message"/>
    <sequential>
        <echo message="@{message}" />
    </sequential>
</macrodef>

Как я могу вызвать другой макрос внутри ant-macro макрос?

Я попытался в следующем порядке, но выдает ошибку.

<macrodef name="ant-macro">
    <attributes name="message"/>
    <second-macro messge="hi"/>
    <sequential>
        <echo message="@{message}" />
    </sequential>
</macrodef>

second-macro макрос также определен в файле macro_file.xml.

1 ответ

Решение

Макрос выполняет все внутри sequential элемент. Просто поместите свой второй вызов макроса внутри него:

<macrodef name="ant-macro">
    <attributes name="message"/>
    <sequential>
        <second-macro message="hi"/>
        <echo message="@{message}" />
    </sequential>
</macrodef>
Другие вопросы по тегам