本系列代碼地址 githubgit
相關資料 gradle in action中英文對照版github
回到目錄工具
上一邊咱們介紹task的相關內容,今天咱們接着完善咱們的打包工具。post
不失通常性的,咱們以「publishReleaseRelease」這個任務爲例,其餘三個任務的邏輯和這個任務邏輯是同樣的,只是參數不一樣。gradle
當咱們要執行apk的上傳功能以前,首先咱們須要確保apk編譯出來。那打包的task是哪個呢?咱們在gradle面板下找一下,發現,打包的任務是「assembleRelease」這個task。spa
也就是說,咱們上傳的任務是依賴「assembleRelease」這個task的。任務的依賴關係咱們能夠經過「dependsOn」這個任務來指定,以下:code
task publishReleaseRelease(dependsOn: "assembleRelease") {
group "publish"
doFirst {
println "publishReleaseRelease doFirst called......"
}
doLast {
println "publishReleaseRelease doLast called......"
}
}
複製代碼
而且咱們還在任務裏面加入了兩個action,一個經過「doFirst」添加,一個經過「doLast」添加。當咱們再執行這個任務的時候,發現他先執行了"assembleRelease"這個任務,而後纔開始執行咱們的「publishReleaseRelease」這個任務,而且先執行的「doFirst」對應的action,人後執行的「doLast」的action。執行結果以下:cdn