W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
正如我們之后的詳細描述 (參見第55章,構(gòu)建的生命周期), Gradle 有一個配置階段和執(zhí)行階段. 在配置階段后, Gradle 將會知道應執(zhí)行的所有任務. Gradle 為你提供一個"鉤子", 以便利用這些信息. 舉個例子, 判斷發(fā)布的任務是否在要被執(zhí)行的任務當中. 根據(jù)這一點, 你可以給一些變量指定不同的值.
在接下來的例子中, distribution 任務和 release 任務將根據(jù)變量的版本產(chǎn)生不同的值.
例子 6.16. 根據(jù)選擇的任務產(chǎn)生不同的輸出
build.gradle
task distribution << {
println "We build the zip with version=$version"
}
task release(dependsOn: 'distribution') << {
println 'We release now'
}
gradle.taskGraph.whenReady {taskGraph ->
if (taskGraph.hasTask(release)) {
version = '1.0'
} else {
version = '1.0-SNAPSHOT'
}
}
gradle -q distribution 命令的輸出
> gradle -q distribution
We build the zip with version=1.0-SNAPSHOT
Output of gradle -q release
> gradle -q release
We build the zip with version=1.0
We release now
最重要的是 whenReady 在 release 任務執(zhí)行之前就已經(jīng)影響了 release 任務. 甚至 release 任務不是首要任務 (i.e., 首要任務是指通過 gradle 命令的任務).
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: