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

    原文作者:埃赛尔
    原文地址: https://www.jianshu.com/p/10bdeb306be3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞