我有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文件传递到另一个?
答案 0 :(得分:2)
depends
参数不接受属性。
Ant使用依赖关系矩阵来确定应该构建什么以及以什么顺序构建。在执行构建文件本身的任何部分之前计算此矩阵,因此在完成此操作时甚至不会设置属性。
你想要完成什么?也许如果我们能够更好地了解您的需求,我们可以帮助您。 Ant不是像BASH或Python那样的脚本语言。
答案 1 :(得分: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字段中,仅检查属性的值。此外,您不必对属性使用$ {}构造。