【发布时间】:2013-07-31 16:03:28
【问题描述】:
我有这个 Java 项目,我导入了一个带有一些任务的 Ant build.xml 文件,如下所示:
ant.importBuild 'build.xml'
task myTaskA(dependsOn: ':Modules:MyModule:assemble') << {
// do stuff here...
}
compileJava.dependsOn(myTaskA)
configure(jar) {
include 'classes.dex'
}
jar.dependsOn(antCompile)
任务antCompile 来自Ant build.xml 脚本。但是,由于某种原因,在调用 gradlew assemble 时会在启动时调用此任务,它甚至不会等待 jar 任务启动。
另外,antCompile 任务在 build.xml 中定义为以下目标:
<target name="antCompile" depends="-setup">
</target>
那个 Ant 目标,-compile总是在我调用 gradlew assemble 时要执行的第一个任务。这没有任何意义。该任务永远不会在任何地方调用,它只是 antCompile 的依赖项。为什么会被执行?
这显然不是我想要的……我怎样才能防止这种行为?
【问题讨论】:
-
antCompile将在jar之前运行,因为构建脚本是这样说的 (jar.dependsOn(antCompile))。