【问题标题】:About order of task execution in gradle关于 gradle 中的任务执行顺序
【发布时间】:2015-12-17 17:00:11
【问题描述】:

我在我的应用程序的 gradle 文件中为我的 Android 应用程序定义了两个任务。我的应用程序有两种风格,我希望这两个任务只为一种风格运行。为此,我使用以下 gradle 配置:

task A << { ... }

task B << { ... }

tasks.whenTaskAdded { task ->
    if(task.name.contains('assembleFreeVersion')) {
        task.dependsOn A
        task.dependsOn B
    } 
}

我的问题是:任务 A 是否总是在任务 B 执行后执行?如果不是,我能做些什么来确保在没有紧密耦合任务 A 和 B 的情况下(即我仍然应该能够运行一项任务而不运行另一项任务)?

【问题讨论】:

    标签: android gradle


    【解决方案1】:

    简短的回答是否定的。依赖没有指定顺序。要指定您需要使用的顺序mustRunAfter:

    task A << { ... }
    
    task B << { ... }
    
    tasks.whenTaskAdded { task ->
        if(task.name.contains('assembleFreeVersion')) {
            task.dependsOn A
            task.dependsOn B
            B.mustRunAfter A
        } 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多