我想创建一个宏这样:Ant的macrodef默认元素?
<macrodef name="testing">
<element name="test" implicit="yes"/>
<sequential>
<test/>
</sequential>
</macrodef>
,然后使用它:
<testing>
<echo message="hello world"/>
</testing>
不过,我想指定一个默认的隐式元素...是这样的:
<macrodef name="testing">
<element name="test" implicit="yes">
<echo message="hello world"/>
</element>
<sequential>
<test/>
</sequential>
</macrodef>
所以我可以使用它作为这样的:
<testing/>
除了我想更改默认元素。
这可能没有通过Java类定义任务吗?到目前为止,我没有看到任何说明如何做的文档。
更新
我结束了使用REFID的文件集(这是我实际上是想拉成一个元素)解决我的具体问题。使用refid,只需使用一个具有默认值的macrodef属性很简单。
另一种选择是创建一个使用该元素的新的基本宏,然后我可以保留现有的宏作为使用该元素......但仍然没有真正的元素默认机制对人好点)。
所以,西蒙得到了答案,因为他是正确的!谢谢!
赏识一直开着,但我想找一个实际违约,不是可有可无的行为......我想默认的内容完全取代实际传入的内容,但当然只有在定义了内容的情况下。 – 2009-04-08 20:15:36