1

我有一个build.xml应该动态接收该depends字段的参数。我在其他一些参数中定义了这个参数,app.xml例如:

ops=op1, op2, op3,op4,op5,.... opn

然后我将它app.xml导入build.xml并想在ops那里使用参数。

<project name="Project" basedir="." default="help">
    <target name="test" depends="{$ops}" description="executea series of commands in ant">
      <echo message="batch operation job done.  tasks = {$ops}"/>
    </target>
</project>

如何将参数从一个 ant 文件传递​​到另一个文件?

4

2 回答 2

2

depends参数不带属性。

Ant 使用依赖矩阵来确定应该构建什么以及按什么顺序构建。该矩阵是在构建文件本身的任何部分执行之前计算的,因此完成此操作时甚至不会设置属性。

你想达到什么目的?也许如果我们对您想要什么有更好的了解,我们可以为您提供帮助。Ant 不是像 BASH 或 Python 这样的脚本语言。

于 2013-05-20T20:57:09.410 回答
0

如前所述,您不能将属性放入 Depends 字段中。但是,如果要设置属性,则可以在 If 字段中使用它。例子

<project name="appProject">

  <target name="test" depends="target1,target2,target3" description="execute series of commands"/>

  <target name="target1" if="do.target1">
    <echo message="Target1 executed." />
  </target>

  <target name="target2" if="do.target2">
    <echo message="Target2 executed." />
  </target>

  <target name="target3" if="do.target3">
    <echo message="Target3 executed." />
  </target>

</project>

然后在 build.xml 中设置给定的目标标志 do.target1、do.target2 或 do.target3 并执行。基本上是你想要的。在 If 字段中,仅检查值。此外,您不必为属性使用 ${ } 构造。

于 2013-10-10T07:36:41.160 回答