我想创建一个宏:
<macrodef name="testing">
<element name="test" implicit="yes"/>
<sequential>
<test/>
</sequential>
</macrodef>
Run Code Online (Sandbox Code Playgroud)
然后使用它:
<testing>
<echo message="hello world"/>
</testing>
Run Code Online (Sandbox Code Playgroud)
但是,我想为隐式元素指定一个默认值...类似于:
<macrodef name="testing">
<element name="test" implicit="yes">
<echo message="hello world"/>
</element>
<sequential>
<test/>
</sequential>
</macrodef>
Run Code Online (Sandbox Code Playgroud)
所以我可以这样使用它:
<testing/>
Run Code Online (Sandbox Code Playgroud)
除了我想要更改默认元素.
如果没有通过Java类定义任务,这可能吗?到目前为止,我没有看到任何说明如何操作的文档,如果是的话.
更新
我最终通过使用refid for filesets来解决我的特定问题(这实际上是我试图将其放入元素中).使用refid,只需使用一个具有默认值的macrodef属性即可.
另一个替代方法是创建一个使用该元素的新基本宏,然后我可以将我现有的宏保存为使用那个...但是,对于一个元素没有真正的默认机制(这会很好).
所以,西蒙得到了答案,因为他是对的!谢谢!