TaskExecutionListeners的通知顺序是否与Gradle中的注册顺序相匹配?

时间:2013-04-16 21:20:18

标签: gradle

如果我运行one, two, three

,以下内容是否会按顺序打印gradle three
task one {
    gradle.taskGraph.whenReady { graph ->
        if (graph.hasTask(it)) {
            println "one"
        }
    }
}

task two {
    dependsOn one
    gradle.taskGraph.whenReady { graph ->
        if (graph.hasTask(it)) {
            println "two"
        }
    }
}

task three {
    dependsOn two
    gradle.taskGraph.whenReady { graph ->
        if (graph.hasTask(it)) {
            println "three"
        }
    }
}

1 个答案:

答案 0 :(得分:1)

是的,因为闭包被放入LinkedHashMap,当你致电whenReady

时,它最终会进入BroadcastDispatch

公共api中没有任何内容表明这一点