0

我有两个 Ant 任务。如果我从命令行一个接一个地运行它们——没问题。

但是,如果我将它们包含在像这样的另一个任务的依赖depends='taskA,taskB'属性中,我会得到错误的结果。

依赖项是按顺序运行而不是按顺序运行吗?无需深入了解 ant 任务的细节——有什么想法吗?

4

1 回答 1

0

ANT 只执行一次相关任务……下面的例子说明了这种奇怪的行为。

这属于功能而不是错误的类别。这正是 ANT 的工作方式。需要记住的是,ANT 并非设计为过程编程语言。

如果您的子任务本质上是程序性的,则最好将其作为宏定义调用(或者更好地再次创建可重用的构建函数 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

构建.xml

<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>
于 2013-07-13T08:45:01.233 回答