在gradle構建腳本中確定doFirst方法的順序如何?我有以下示例腳本包含兩個doFirst方法。據我所知,他們是添加劑,因爲它們都執行,但出現這種情況的順序看起來落後:Gradle doFirst()執行順序
task initialize
task depTask(dependsOn: initialize)
initialize {
doFirst {
println 'processing doFirst in initialization (configuration)'
}
println 'processing initialize (configuration)'
}
depTask {
println 'processing depTask (configuration)'
}
depTask << {
println 'executing depTask (execution)'
}
initialize << {
println 'executing initialize (execution)'
}
initialize.doFirst {
println 'executing doFirst on initialize (execution)'
}
從這個腳本的輸出是:
processing initialize (configuration)
processing depTask (configuration)
executing doFirst on initialize (execution)
processing doFirst in initialization (configuration)
executing initialize (execution)
executing depTask (execution)
第一個「doFirst」函數的定義在初始化任務中。第二個是在配置塊之外定義的。爲什麼第一個實例在第二個實例之前沒有執行?執行順序看起來落後。我希望第一個在配置定義中首先執行。任何幫助理解這一點,將不勝感激。
'println'在初始化(配置)中處理doFirst''我不認爲這發生在配置階段。 – 2016-04-05 13:40:28