就像你所猜想的那樣, 你可以聲明任務(wù)之間的依賴關(guān)系.
例子 6.6. 申明任務(wù)之間的依賴關(guān)系
build.gradle
task hello << {
println 'Hello world!'
}
task intro(dependsOn: hello) << {
println "I'm Gradle"
}
gradle -q intro 命令的輸出
> gradle -q intro
Hello world!
I'm Gradle
intro 依賴于 hello, 所以執(zhí)行 intro 的時(shí)候 hello 命令會(huì)被優(yōu)先執(zhí)行來(lái)作為啟動(dòng) intro 任務(wù)的條件.
在加入一個(gè)依賴之前, 這個(gè)依賴的任務(wù)不需要提前定義, 來(lái)看下面的例子.
例子 6.7. Lazy dependsOn - 其他的任務(wù)還沒(méi)有存在
build.gradle
task taskX(dependsOn: 'taskY') << {
println 'taskX'
}
task taskY << {
println 'taskY'
}
gradle -q taskX 命令的輸出
> gradle -q taskX
taskY
taskX
taskX 到 taskY 的依賴在 taskY 被定義之前就已經(jīng)聲明了. 這一點(diǎn)對(duì)于我們之后講到的多任務(wù)構(gòu)建是非常重要的. 任務(wù)依賴將會(huì)在 14.4 具體討論.
請(qǐng)注意你不能使用快捷注釋 (參考 6.8, “快捷注釋”) 當(dāng)所關(guān)聯(lián)的任務(wù)還沒(méi)有被定義.