終止 tasks

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

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

例子 15.27. 加入一個(gè)任務(wù)終止器

build.gradle

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

taskX.finalizedBy taskY

gradle -q taskX 的輸出

> gradle -q taskX
taskX
taskY

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

例子 14.28. 當(dāng)任務(wù)失敗時(shí)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

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

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

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)