当从另一个ant任务执行时,我可以编写一个带参数的ant任务吗?

7

我可以编写一个带有参数的ant任务,以便从另一个ant任务执行时使用吗?

总体上,我想要实现的是重复使用具有不同参数的现有任务。

我不知道的是:

  • 是否存在类似于子任务的东西?
  • 它能否接受参数?
  • 这样的子任务在哪里和如何指定?

我需要实现的概念:

子 Ant 任务,它需要接受参数 param1 和 param2:

<someAntCommand att="$param1"/>
<someOtherAntCommand att="$param2"/>

Main Ant任务,执行子任务:

<doSomethingToExecSubTask somePointerToTaskOrFile="...">
    <param name="param1"> hello </param>
    <param name="param2"> world </param>
</doSomethingToExecSubTask>

<doSomethingToExecSubTask somePointerToTaskOrFile="...">
    <param name="param1"> hello </param>
    <param name="param2"> universe </param>
</doSomethingToExecSubTask>
3个回答

14

有两种方法可以实现这一点:

  1. 您可以使用 antcall 来完成。

  2. 自 ant 1.6 版本以来,您可以使用 宏定义


2
你需要的是宏定义。如果想要了解如何编写Ant宏指南,请查看这个演示文稿

非常好的演示,感谢分享。这正是我所需要的。 - botchniaque

0
<property name="param1"/>
<property name="param2"/>
<target name="task1">        
    <property name="param1" value="hello"/>
    <property name="param2" value="world"/>        
</target>
<target name="task2">
</target>

只需调用task2,task run将在其之前运行


抱歉,这是复制粘贴错误!我已经编辑过了,应该解决了。 - John McG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接