我有两个Ant任务。如果我从命令行一个接一个地运行它们 - 没问题。
但如果我将它们包含在此depends='taskA,taskB'
之类的其他任务的depends属性中,我会得到错误的结果。
依赖是依次运行而不是按顺序运行?没有涉及蚂蚁任务的具体细节 - 任何想法?
答案 0 :(得分:0)
ANT只执行一次依赖任务...下面的例子说明了这种奇怪的行为。
这属于功能类别而不是bug。这就是ANT的工作方式。需要记住的是,ANT并非设计为过程式编程语言。
如果您的子任务本质上是程序性的,那么最好将其作为macrodef调用(或者更好地再次创建可重复使用的antlib构建函数。)
$ ant
Buildfile: /path/to/my/home/build.xml
subtask1:
[echo] hello world
subtask2:
[echo] hello world
build1:
[echo] hello world
build2:
[echo] hello world
build:
BUILD SUCCESSFUL
<project name="demo" default="build">
<target name="build" depends="build1,build2"/>
<target name="build1" depends="subtask1,subtask2">
<echo message="hello world"/>
</target>
<target name="build2" depends="subtask1,subtask2">
<echo message="hello world"/>
</target>
<target name="subtask1">
<echo message="hello world"/>
</target>
<target name="subtask2">
<echo message="hello world"/>
</target>
</project>