終止 tasks

2018-07-01 16:15 更新
終止任務是一個正在開發(fā)的功能.

這里的終止任務并不是指終止一個任務, 而是指一個無論運行結(jié)果如何最后都會被執(zhí)行的任務.

例子 15.27. 加入一個任務終止器

build.gradle

task taskX << {
    println 'taskX'
}
task taskY << {
    println 'taskY'
}

taskX.finalizedBy taskY

gradle -q taskX 的輸出

> gradle -q taskX
taskX
taskY

即使要終止的任務失敗了, 終止任務仍會繼續(xù)執(zhí)行.

例子 14.28. 當任務失敗時k

build.gradle

task taskX << {
    println 'taskX'
    throw new RuntimeException()
}
task taskY << {
    println 'taskY'
}

taskX.finalizedBy taskY

gradle -q taskX 的輸出

> gradle -q taskX
taskX
taskY

另外, 如果要終止的任務并沒有被執(zhí)行 (比如上一節(jié)講的 up-to-date) 那么終止任務并不會執(zhí)行.

當構(gòu)建創(chuàng)建了一個資源, 無論構(gòu)建失敗或成功時這個資源必須被清除的時候, 終止任務就非常有用.

要使用終止任務, 你必須使用 Task.finalizedBy()) 方法. 一個任務的實例, 任務的名稱, 或者任何 Task.dependsOn() 可以接收的輸入都可以作為這個任務的輸入.


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號