我在单独的文件中写了一个小宏定义:
宏定义.xml
<macrodef name="do-cool-stuff">
<attribute name="message"/>
<sequential>
<echo message="@{message}" />
</sequential>
</macrodef>
我有第二个文件,我的主要构建文件:
构建.xml
<target name="build">
<!-- do this and that -->
<!-- cheking out macrodefs.xml via CVS -->
<ant antfile="macrodefs.xml" target="do-cool-stuff" >
<property name="message" value="Hello, World!" />
</ant>
</target>
正如您可能猜到的那样,这不起作用。错误消息类似于:
Target 'do-cool-stuff' does not exist in this project.
我找到的唯一可能的解决方案是在 macrodefs.xml 中提供一个额外的目标来转发 ant 调用。
是否有可能从另一个文件中调用宏定义?
提前致谢。