Gradle Settings 类的学习
# 任务
- 了解 Settings 类作用于 Gradle 构建的哪个阶段?
- 了解 Settings 类与 settings.gradle 的关系
- 了解和使用 inlcude 方法
- hook 初始化阶段的监听器
- 总结
# Settings 类作用于 Gradle 构建的哪个阶段?
前面介绍过,Gradle 构建涉及到三个阶段,分别是 初始化阶段
,配置阶段
,执行阶段
。在 Gradle 中就是通过执行 Settings
类来完成构建的 初始化阶段
。
# Settings 类与 settings.gradle 的关系
就像大家所知的build.gradle
文件是对应于Project
的,那么settings.gradle
对应于 Settings
类啦。
# includ 方法
在 Setting 类中,最重要的一个方法就是
include
方法了。
方法名 | 作用 |
---|---|
void include(String... projectPaths); | 添加需要参与构建的Project,接受一个可变参数,每一个值是一个Project路径 |
这里有一个需要注意的点:可变参数的路径
并不是 project 的文件路径,它指的是当前 project
相对于根project
的路径。
例如:在一个 AS 的示例工程中,有如下一些 module ,那么每一个 project 的 path 该如何表示呢,下面我列举一个示例来表示一下:
GradleDemo(根Project) -> path = "" app(子Project) -> path = ":app" subapp(app的子project) -> path = ":app:subapp" common(子Project) -> path = ":common" play(子Project) -> path = ":play"
从上面的 module 的结构来看, GradleDemo 为根project ,它的路径是 :
,而对于 app
module 来说,它的 path 是 :app
。subapp
是 app project 的子 project ,它的 path 是:app:subapp
。所以基于上面的理解,每一个 project 的路径都是相对于根project
而言的,路径的分隔符是 :
而不是\
。
下面是 project路径 的格式:
:路径1:路径2
说了那么多,现在来看看如何使用 include 方法咯:
- 添加一个 project
//添加:app这个module参与构建 include ":app"
- 添加多个 project
//include 接受可变参数,使用 , 逗分开不同的路径 include ':app',':common'
# hook 初始化阶段的监听器
在初始化阶段中主要做的事有两件:
- 确定哪些是需要构建的 project 。
- 为所有的参与构建的 Project 创建对象。
那么下面列举是在执行 settings.gradle 脚本的监听回调:
gradle.settingsEvaluated { println "【settings.gradle】 初始化执行结束" } gradle.projectsLoaded { Gradle gradle -> println "【settings.gradle】 所有在 settings 中 include 的 Project 对象都创建完成了" }
# 总结
虽然 Settings 类很简单,但是我们不能忽略的它的作用哦,毕竟它负责了 Gradle 构建的第一个阶段。在日常开发中,我们主要使用到的就是 include
方法了,所以本文也只演示了该方法的作用与使用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库