我有一个gradle任务,它调用ant.exec()来执行svn导出到目录:
/*
* Get code from repository into the 'src' directory
*/
task getSource << {
ant.exec(executable: svn_executable) {
arg(value: 'export')
arg(value: repository)
arg(value: 'src')
}
}
然后我有一个任务,删除导出目录中的某些文件:
task deletes(type: Delete) {
ant.delete() {
fileset(dir: "src", includes: "**/*template*")
}
}
然后我有另一个任务,它调用getSource并且逐个删除。
问题是gradle没有等待getSource完成,直接进入下一个任务,这是一个问题,因为此时没有需要删除的文件。
有办法绕过这个吗?
谢谢!
你的'deletes'任务在gradle的配置阶段而不是执行阶段调用ant.delete。查看Gradle DSL参考,了解如何在http://www.gradle.org/docs/current/dsl/org.gradle.api.tasks.Delete.html
正确配置"Delete"任务。希望有帮助,
欢呼,
Rene
然后我有另一个任务,调用getSource并一个接一个地删除。
你这话到底是什么意思?Gradle任务不能调用其他任务;它只能依赖于它们