如何从另一个macrodef中调用Ant宏?

时间:2011-06-25 11:11:15

标签: ant macrodef

我有一个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 个答案:

答案 0 :(得分:7)

宏执行其sequential元素内的所有内容。只需将第二个宏调用放入其中:

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