gpt4 book ai didi

gradle - 最好在 Gradle 中使用任务依赖项或 task.doLast 吗?

转载 作者:行者123 更新时间:2023-12-04 00:56:30 27 4
gpt4 key购买 nike

使用 Gradle 构建我的最终输出文件后,我想做两件事。更新本地 version.properties 文件并将最终输出 final 复制到某个特定目录以进行存档。假设我已经实现了 2 个方法,它们完全符合我刚刚描述的功能,updateVersionProperties()archiveOutputFile() .

我知道想知道什么是最好的方法来做到这一点......

备选方案 A:

assembleRelease.doLast {
updateVersionProperties()
archiveOutputFile()
}

备选方案 B:
task myBuildTask(dependsOn: assembleRelease) << {
updateVersionProperties()
archiveOutputFile()
}

在这里我会调用 myBuildTask 而不是 组装发布 就像在选项 A 中一样。

哪一种是推荐的这样做的方法,为什么?一个比另一个有什么优势吗?想澄清一下... :)

最佳答案

只要有可能,将新事件建模为单独的任务。 (在您的情况下,您可能会再添加两个任务。)这有很多优点:

  • 关于当前正在执行或失败的事件的更好反馈
  • 能够声明任务输入和输出(获得由此带来的所有好处)
  • 能够重用现有任务类型
  • Gradle 并行执行任务的更多可能性

  • 有时,将事件建模为单独的任务并不容易。 (一个例子是当需要就地对现有任务的输出进行后处理时。在单独的任务中执行此操作将导致原始任务在后续运行中永远不会是 up-to-date。)只有这样才能附加事件使用 doLast 到现有任务.

    关于gradle - 最好在 Gradle 中使用任务依赖项或 task.doLast 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17438219/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com