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