Gradle:你需要了解的task執行順序
先執行:
execute >>> setting.gradle
再執行:host.buildscript
execute >>> buildscript execute >>> buildscript.repositories execute >>> buildscript.dependencies
接下來解析host檔案
execute >>> host //這裡可以進行host變數的宣告
執行host檔案的apply
execute >>> config.gradle execute >>> config.gradle >>> ext
執行host檔案的allprojects
execute >>> allprojects: host execute >>> allprojects: host.repositories execute >>> allprojects: host.dependencies
宿主執行先於subproject
execute >>> allprojects: app execute >>> allprojects: app.repositories execute >>> allprojects: app.dependencies
執行host檔案的subprojects
execute >>> subprojects: app
先執行了buildscript這個task:buildscript先於apply
execute >>> app.buildscript
解析app的build.gradle
execute >>> app //這裡可以進行host變數的宣告
執行app的apply(注:當進入app下執行的時工程路徑已經下沉到: ~./app/)
execute >>> config.gradle execute >>> config.gradle >>> ext
執行app的android
execute >>> app.android//(注:這是因為apply了Android外掛) execute >>> app.dependencies execute >>> app.repositories
結論:
1 buildscript: build.gradle 最先被執行的task > apply
2 即便是dependencies的位置先於repositories 執行順序還是 repositories > dependencies