返回首页 Gradle 用户指南官方文档中文版

项目 API

在第七章 Java快速入门那部分我们使用了 apply() 方法,这个方法是从哪里来的呢? 我们之前说过Gradle在构建脚本中定义了一个项目. 对于构建脚本中每个项目,Gradle 都创建了一个 Project 类型的对象用来关联此项目. 当构建脚本执行时,它会去配置所关联的 Project 对象.

  • 构建脚本中每个被调用的方法(这些方法并未在构建脚本中定义)都被委托给当前 Project 对象(使用 Project 对象引用方法)。

  • 构建脚本中每个被操作的属性(这些属性并未在构建脚本中定义)都被委托给当前 Project 对象(使用 Project 对象引用属性).

让我们尝试下如何操作项目对象的属性.

例子:13.1 操作项目对象的属性

build.gradle

println name
println project.name

使用 gradle -q check 命令输出结果:

> gradle -q check
projectApi
projectApi

如您所见,两个 println 语句都输出了相同的属性,第一个输出使用的是自动委托 ( auto-delegation ),因为当前属性并没有在构建脚本中定义. 另一个语句使用了项目一个属性,这个属性在任何构建脚本中都可用,它的返回值是被关联的 Peoject 对象的目录名。当您定义了一个属性或者一个方法和 Project 对象的某个成员的属性相同是,你应该使用第二种方法指明是哪个项目的.

上一篇: Gradle 构建语言 下一篇: 标准项目属性