在安卓上分级自定义任务顺序



我想在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"来正确执行。

最新更新