我有一个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文件传递到另一个ant文件?
depends
参数不带属性。
Ant使用依赖矩阵来确定应该以什么顺序构建什么。这个矩阵是在构建文件本身的任何部分执行之前计算的,所以在执行时甚至不设置属性。
你想完成什么?也许如果我们知道你想要什么,我们可以帮你。Ant不是像BASH或Python那样的脚本语言。
如前所述,不能将属性放入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,做。Target2或do。Target3,然后执行。基本上就是你想要的。在If字段中,只检查属性的值。此外,您不必为属性使用${}结构。