- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Gradle 编写构建脚本
Gradle 编写构建脚本
编写构建脚本
这⼀章着眼于⼀些编写构建脚本的详细信息。
Gradle 构建语⾔
Gradle 提供⼀种领域特定语⾔或者说 DSL ,来描述构建。这种构建语⾔基于
Groovy 中,并进⾏了⼀些补充,使其易于描述构建。
Project API
在Java 构建⼊门的教程中,我们使⽤了 apply ()⽅法。这⽅法从何⽽来?我们之前说
在 Gradle 中构建脚本定义了⼀个项⽬ (project )。在构建的每⼀个项⽬中,Gradle 创
建了⼀个 Project 类型的实例,并在构建脚本中关联此 Project 对象。当构建脚本执⾏
时,它会配置此 Project 对象:
在构建脚本中,你所调⽤的任何⼀个⽅法,如果在构建脚本中未定义,它将被
委托给 Project 对象。
在构建脚本中,你所访问的任何⼀个属性,如果在构建脚本⾥未定义,它也会
被委托给 Project 对象。
下⾯我们来试试这个,试试访问 Project 对象的 name 属性。
访问 Project 对象的属性
build .gradle
println name
println
gradle -q chec 的输出结果
gradle -q check
projectApi
projectApi
这两个 println 语句打印出相同的属性。在⽣成脚本中未定义的属性,第⼀次使⽤时⾃
动委托到 Project 对象。其他语句使⽤了在任何构建脚本中可以访问的 project 属性,
则返回关联的 Project 对象。只有当您定义的属性或⽅法 Project 对象的⼀个成员相同
名字时,你才需要使⽤ project 属性。
标准 project 属性
Project对象提供了⼀些在构建脚本中可⽤的标准的属性。下表列出了常⽤的⼏个属
性。
表 13.1. Project 属性
名称 类型 默认值
project Project Project实例
name String 项⽬⽬录的名称。
path String 项⽬的绝对路径。
description String 项⽬的描述。
projectDir File 包含⽣成脚本的⽬录。
buildDir File projectDir/build
group Object 未指定
ersion Object 未指定
ant AntBuilderAntBuilder实例
Script API
当 Gradle 执⾏⼀个脚本时,它将脚本编译为⼀个实现了 Script 接⼜的类。这意味着所
有由该Script 接⼜声明的属性和⽅法在您的脚本中 可⽤的。
声明变量
有两类可以在⽣成脚本中声明的变量: 局部变量和额外属性。
局部变量局部
局部变量 ⽤ def 关键字声明的。它们只在定义它们的范围内可以被访问。局部变量
Groovy 语⾔底层的⼀个特征。
⽰例 13.2. 使⽤局部变量
build .gradle
def dest = dest
task copy(type: Copy) {
from source
into dest
}
额外属性
Gradle 的域模型中,所有增强的对象都可以容纳⽤户定义的额外的属性。这包括但并
不限于项⽬ (project )、任务 (tas )和源码集 (source set )。额外的属性可以通过所
属对象的 ext 属性进⾏添加,读取和设置。或者,可以使⽤ ext 块同时添加多个属
性。
13.3 例⼦. 使⽤额外属性
build .gradle
apply plugin: ja a
ext {
springVersion = 3.1.0.RELEASE
emailNotification = build@
}
sourceSets.all { ext.purpose = null }
sourceSets {
main {
purpose = production
}
test {
purpose
您可能关注的文档
- GMAT入门之数学部分-智课教育.pdf
- GMAT数学DS考什么-智课教育.pdf
- GMAT改革之后题型介绍-智课教育.pdf
- GMAT数学中数据充分问题的应对策略.pdf
- GMAT数学充分性详解-智课教育.pdf
- DPO3034介绍.doc
- GMAT数学充分性问题解题方法-智课教育.pdf
- GMAT IR机经整理:字母变数字【古】.pdf
- GMAT数学为何难考满分-智课教育.pdf
- GMAT数学备考常见错误-智课教育.pdf
- 基本面选股组合月报:大模型AI选股组合本年超额收益达6.60.pdf
- 可转债打新系列:安集转债,高端半导体材料供应商.pdf
- 可转债打新系列:伟测转债,国内头部第三方IC测试企业.pdf
- 联想集团PC换机周期下的价值重估.pdf
- 计算机行业跟踪:关税升级,国产突围.pdf
- 科技类指数基金专题研究报告:详解AI产业链指数及基金布局.pdf
- 计算机行业研究:AIAgent产品持续发布,关税对板块业绩影响较小.pdf
- 民士达深度报告:国内芳纶纸龙头,把握变局期崛起机遇.pdf
- 社会服务行业动态:全球首张民用无人驾驶载人航空器运营合格证落地,霸王茶姬冲击美股IPO.pdf
- 通信行业研究:特朗普关税令落地,长期看好国产算力链.pdf
最近下载
- 《品牌设计》课件——IP形象设计案例.ppt VIP
- 中国煤焦化行业发展现状与投资战略规划建议报告2024-2030年.docx
- GB T 29039-2012_钢制采暖散热器_高清版_可检索.pdf
- 中国红十字会PPT课件.pptx
- Deepseek冲击波:AI赋能下的金融行业重构及变革2025.docx VIP
- 广西建设领域专业技术人员三新技术网络培训考试题目及答案.pdf
- 民用爆炸物品安全管理条例.pptx VIP
- 《新生儿预防接种》课件.ppt VIP
- 全季4.0-酒店材料总表.docx VIP
- 第三单元《数的顺续-百数表》(说课稿)-2023-2024学年一年级下册数学西师大版.docx
文档评论(0)