【问题标题】:What is the difference between mustRunAfter and shouldRunAfter in task ordering in Gradle?Gradle中的任务排序中的mustRunAfter和shouldRunAfter有什么区别?
【发布时间】:2016-08-16 03:15:27
【问题描述】:

我对在 gradle 中订购任务时应该何时使用 shouldRunAftermustRunAfter 中的哪一个有疑问。

【问题讨论】:

    标签: gradle android-gradle-plugin


    【解决方案1】:

    这一切都有很好的记录,请查看here。特别是:

    当你使用“must run after”排序规则时,你指定 taskB 必须始终在 taskA 之后运行,只要 taskA 和 taskB 都将 跑步。这表示为 taskB.mustRunAfter(taskA)。 “应该跑 after” 排序规则类似但不那么严格,因为它将被忽略 在两种情况下。首先,如果使用该规则会引入排序 循环。其次,当使用并行执行和所有依赖项时 除了“应该运行”任务之外,还满足了一项任务, 那么无论它是否“应该运行”,这个任务都会运行 之后”依赖项是否已运行。你应该使用“应该运行 之后”,其中排序有帮助但不是严格要求。

    编辑 我也鼓励您阅读this 的帖子。

    【讨论】:

    • 感谢您的回复。实际上我之前读过,但是声明“其次,当使用并行执行时,除了“应该运行”任务之外,任务的所有依赖项都已满足,那么这个任务将运行而不管它的“应该运行”依赖项是否有是否已运行”还不清楚。我所理解的是,“mustRunAfter”中的排序是严格的,而“shouldRunAfter”并不总是如此。我是 Gradle 的新手,如果我错了,请纠正我。
    • @Niharika,你是对的。 mustRunAfter 用于严格排序,shouldRunAfter 并行执行时可能不服从。如果您觉得我的回答和说明有帮助,请接受回答。
    猜你喜欢
    • 2017-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    相关资源
    最近更新 更多