W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
有許多種加入依賴的方式. 在 6.5 小節(jié), “任務依賴”里, 你已經(jīng)學習了如何使用任務的名稱定義依賴. 任務名稱可以指向同一個項目里的任務, 或者其他項目里的任務. 為了指向其他項目, 你必須在任務的名稱前加入項目的路徑. 下面的例子給 projectA:taskX 加入依賴 projectB:taskY :
例子 15.11. 從另外一個項目給任務加入依賴
build.gradle
project('projectA') {
task taskX(dependsOn: ':projectB:taskY') << {
println 'taskX'
}
}
project('projectB') {
task taskY << {
println 'taskY'
}
}
gradle -q taskX 的輸出
> gradle -q taskX
taskY
taskX
除了使用任務名稱, 你也可以定義一個依賴對象y:
例子 15.12. 通過任務對象加入依賴
build.gradle
task taskX << {
println 'taskX'
}
task taskY << {
println 'taskY'
}
taskX.dependsOn taskY
gradle -q taskX 的輸出
> gradle -q taskX
taskY
taskX
更加先進的用法, 你可以通過閉包定義一個任務依賴. 閉包只能返回一個單獨的 Task 或者 Task 對象的 collection, 這些返回的任務就將被當做依賴. 接下來的例子給 taskX 加入了一個復雜的依賴, 所有以 lib 開頭的任務都將在 taskX 之前執(zhí)行:
例子 15.13. 通過閉包加入依賴
build.gradle
task taskX << {
println 'taskX'
}
taskX.dependsOn {
tasks.findAll { task -> task.name.startsWith('lib') }
}
task lib1 << {
println 'lib1'
}
task lib2 << {
println 'lib2'
}
task notALib << {
println 'notALib'
}
gradle -q taskX 的輸出
> gradle -q taskX
lib1
lib2
taskX
For more information about task dependencies, see the Task API.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: