【问题标题】:Can I write an ant task which takes parameters when being executed from another ant task?我可以编写一个从另一个 ant 任务执行时带参数的 ant 任务吗?
【发布时间】:2010-11-22 16:07:38
【问题描述】:

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

一般来说,我尝试实现的是重用现有任务 不同的参数。

我不知道的是:

  • ant 中有这样的子任务吗?
  • 可以带参数吗?
  • 如何以及在何处指定此类子任务?

我需要实现的概念

Sub Ant 任务,接受参数 param1 和 param2:

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

主 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>

【问题讨论】:

    标签: ant build-process build-automation


    【解决方案1】:

    有两种方法可以实现:

    1. 您可以使用antcall 执行此操作。

    2. 从ant 1.6开始,可以使用macros

    【讨论】:

      【解决方案2】:

      你想要的是宏定义。

      如需编写 Ant 宏的非常好的指南,请查看 this presentation

      【讨论】:

      • 非常好的演示文稿。感谢分享。这正是我所需要的。
      【解决方案3】:
      <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就会在它之前运行

      【讨论】:

      • 抱歉,复制粘贴错误!我已编辑,这应该可以解决它
      猜你喜欢
      • 1970-01-01
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 2017-12-18
      • 2018-07-05
      相关资源
      最近更新 更多