構(gòu)建的生命周期
Gradle構(gòu)建的生命周期(圖片源于網(wǎng)絡(luò))
如上圖,Gradle構(gòu)建過程中需要經(jīng)歷三個階段: 初始化階段 、 配置階段 、 執(zhí)行階段
- 初始化階段: 確定要參與構(gòu)建的項目,創(chuàng)建配置Settings實例串稀。
在構(gòu)建的 初始化階段,Gradle 會讀取settings.gradle這個文件狮杨,并創(chuàng)建一個 Settings 類型的實例母截。Gradle 會依據(jù)此文件進行多模塊項目構(gòu)建,默認情況下 Gradle 會從同級的 master 目錄下尋找此文件橄教,如果未找到則會去父級目錄尋找清寇。如果搜尋不到 settings 文件,那么 Gradle 會把模塊當(dāng)做單獨構(gòu)建的項目去執(zhí)行單獨構(gòu)建护蝶。
配置階段: 確定task之間的依賴關(guān)系,并形成一張依賴關(guān)系圖(有向無環(huán)圖)決定task的執(zhí)行順序,這里需要注意的是 配置任務(wù)塊時如果你的代碼沒有寫到doFirst或者doLast里,那么代碼會在配置階段執(zhí)行
執(zhí)行階段: 執(zhí)行具體的task,gradle會依據(jù)配置階段形成的關(guān)系圖將任務(wù)鏈上的任務(wù)按依賴順序依次執(zhí)行
這里有個示例 展示個各個階段以及各個階段一些鉤子函數(shù)的應(yīng)用
[參考資料 - Chapter 22. The Build Lifecycle] https://docs.gradle.org/current/userguide/build_lifecycle.html