Gradle之Gradle执行时序

1 什么是Gradle?

  • 一个像 Ant 一样的非常灵活的通用构建工具 ;
  • 一种可切换的, 像 maven 一样的基于合约构建的框架 ;
  • 支持强大的多工程构建;
  • 支持强大的依赖管理(基于 ApacheIvy ) ;
  • 支持已有的 maven 和 ivy 仓库 ;
  • 支持传递性依赖管理, 而不需要远程仓库或者 pom.xml 或者 ivy 配置文件 ;
  • 优先支持 Ant 式的任务和构建 ;
  • 基于groovy的构建脚本 ;
  • 有丰富的领域模型来描述你的构建。

2 学习Gradle?

3 Gradle脚本的执行时序

  • 初始化:分析有哪些module将要被构建,为每个module创建对应的 project实例。这个时候settings.gradle文件会被解析。
  • 配置:处理所有的模块的 build 脚本,处理依赖,属性等。这个时候每个模块的build.gradle文件会被解析并配置,这个时候会构建整个task的链表(这里的链表仅仅指存在依赖关系的task的集合,不是数据结构的链表)。
  • 执行:根据task链表来执行某一个特定的task,这个task所依赖的其他task都将会被提前执行。

4 以seniorlibs为例演示

println "settings.gradle start"

include ':app', ':lifecycle', ':event', ':baselib', ':thirdlib', ':view', ':gradles'
include ':ipc'

println "settings.gradle start

在这里插入图片描述

5 运行结果

D:\0.GitHub\seniorlibs>gradlew build
settings.gradle start
settings.gradle start

> Configure project :
project.gradle start
project.gradle end

> Configure project :app
app.gradle start
app.gradle end

> Configure project :baselib
baselib.gradle start
baselib.gradle end

> Configure project :event
event.gradle start
event.gradle end

> Configure project :gradles
gradles.gradle start
gradles.gradle end
config myTask
copyTask type: Copy

> Configure project :gradlesnext
gradlesnext.gradle start
gradlesnext.gradle end

> Configure project :view
view.gradle start
view.gradle end

6 学习链接

全面理解Gradle - 执行时序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值