使用 Gradle 构建我的最终输出文件后,我想做两件事。更新本地 version.properties 文件并将最终输出 final 复制到某个特定目录以进行存档。假设我已经实现了 2 个方法,它们完全符合我刚刚描述的功能,updateVersionProperties()
和 archiveOutputFile()
.
我知道想知道什么是最好的方法来做到这一点......
备选方案 A:
assembleRelease.doLast {
updateVersionProperties()
archiveOutputFile()
}
备选方案 B:
task myBuildTask(dependsOn: assembleRelease) << {
updateVersionProperties()
archiveOutputFile()
}
在这里我会调用 myBuildTask 而不是 组装发布 就像在选项 A 中一样。
哪一种是推荐的这样做的方法,为什么?一个比另一个有什么优势吗?想澄清一下... :)
最佳答案
只要有可能,将新事件建模为单独的任务。 (在您的情况下,您可能会再添加两个任务。)这有很多优点:
有时,将事件建模为单独的任务并不容易。 (一个例子是当需要就地对现有任务的输出进行后处理时。在单独的任务中执行此操作将导致原始任务在后续运行中永远不会是
up-to-date
。)只有这样才能附加事件使用 doLast
到现有任务.
关于gradle - 最好在 Gradle 中使用任务依赖项或 task.doLast 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17438219/