我想在assembleRelease
任务之后运行2个gradle任务。
task copyRequiredFilesToVersionControl(type:Copy) {
...
}
task ('versionControl') << {
...
}
如果我为这些任务配置顺序,则以下任务永远不会被调用...
copyRequiredFilesToVersionControl.dependsOn(assembleRelease)
versionControl.dependsOn(copyRequiredFilesToVersionControl)
如果我改变顺序;
assembleRelease.dependsOn(copyRequiredFilesToVersionControl)
versionControl.dependsOn(copyRequiredFilesToVersionControl)
任务在文档的开头运行。因此,没有要复制和添加到版本控制的文件。
最好的方法是什么?
答案 0 :(得分:4)
我找到了调用doLast的方法。所以我用它解决了我的问题。
assembleRelease {
doLast {
tasks.versionControl.execute()
}
}
答案 1 :(得分:1)
我迄今为止发现的最佳方法是使用Gradle中的订购任务功能:有关更多文档,请参阅http://www.gradle.org/docs/current/userguide/more_about_tasks.html,目前第15.5节。
基本上,你有两个规则可用:必须在之后运行,然后运行。我非常喜欢这个规则,我用这个来自动创建项目的zip档案。注意:您仍然必须使用&#34; dependsOn&#34;如果您需要以特定顺序运行的任务,请获得正确的执行。