Gradle

API 文档Gradle

表示 Gradle 的一次调用。

你可以通过调用 Project.getGradle() 获取一个 Gradle 实例。

属性

属性描述
extensions

扩展容器。

gradle

返回此 Gradle 实例。此方法在初始化脚本中非常有用,用于显式访问 Gradle 属性和方法。例如,使用 gradle.parent 比使用 parent更能表达你的意图。此属性还允许你从属性可能被隐藏的作用域访问 Gradle 属性,例如,从方法或闭包中访问。

gradleHomeDir

Gradle 主目录(如果存在)。此目录是包含执行此构建的 Gradle 发行版的目录。

gradleUserHomeDir

Gradle 用户主目录。此目录用于缓存下载的资源、已编译的构建脚本等。

gradleVersion

当前 Gradle 版本。

includedBuilds

此构建包含的构建。

parent

此构建的父构建(如果存在)。

pluginManager

此插件感知对象的插件管理器。

plugins

已应用于此对象的插件容器。

rootProject

此构建的根项目。

startParameter

用于启动此构建的 StartParameter

taskGraph

此构建的 TaskExecutionGraph

方法

方法描述
addBuildListener(buildListener)

为此构建实例添加一个 BuildListener。侦听器将在构建执行期间发生事件时收到通知。

addListener(listener)

为此构建添加给定的侦听器。侦听器可以实现以下任意给定的侦听器接口

addProjectEvaluationListener(listener)

为此构建添加一个侦听器,以便在评估项目时接收通知。

afterProject(closure)

添加一个闭包,以便在项目评估后立即调用。项目作为第一个参数传递给闭包。项目评估失败(如果存在)作为第二个参数传递。这两个参数都是可选的。

afterProject(action)

添加一个动作,以便在项目评估后立即调用。

allprojects(action)

添加一个动作,以便针对此构建的所有项目执行。该动作会立即针对所有已可用的项目执行。它也会在后续项目添加到此构建时执行。

apply(closure)

应用零个或多个插件或脚本。

apply(options)

应用一个插件或脚本,使用作为 map 提供的给定选项。如果插件已应用,则不执行任何操作。

apply(action)

应用零个或多个插件或脚本。

beforeProject(closure)

添加一个闭包,以便在项目评估前立即调用。项目作为参数传递给闭包。

beforeProject(action)

添加一个动作,以便在项目评估前立即调用。

beforeSettings(closure)

添加一个动作,以便在加载和评估构建设置之前调用。

beforeSettings(action)

添加一个动作,以便在加载和评估构建设置之前调用。

buildFinished(closure)
已弃用

添加一个闭包,以便在构建完成时调用。所有选定的任务都已执行。一个 BuildResult 实例作为参数传递给闭包。

buildFinished(action)
已弃用

添加一个动作,以便在构建完成时调用。所有选定的任务都已执行。

includedBuild(name)

返回此构建中具有指定名称的包含构建。

projectsEvaluated(closure)

添加一个闭包,以便在构建的所有项目评估完成后调用。项目对象已完全配置并准备好用于填充任务图。此 Gradle 实例作为参数传递给闭包。

projectsEvaluated(action)

添加一个动作,以便在构建的所有项目评估完成后调用。项目对象已完全配置并准备好用于填充任务图。

projectsLoaded(closure)

添加一个闭包,以便在根据设置创建构建的项目时调用。没有任何项目被评估。此 Gradle 实例作为参数传递给闭包。

projectsLoaded(action)

添加一个动作,以便在根据设置创建构建的项目时调用。没有任何项目被评估。

removeListener(listener)

从此构建中移除给定的侦听器。

removeProjectEvaluationListener(listener)

从此构建中移除给定的侦听器。

rootProject(action)

添加一个动作,以便针对此构建的根项目执行。如果根项目已可用,则立即执行该动作。否则,当根项目可用时执行该动作。

settingsEvaluated(closure)

添加一个闭包,以便在加载和评估构建设置时调用。设置对象已完全配置并准备好用于加载构建项目。Settings 对象作为参数传递给闭包。

settingsEvaluated(action)

添加一个动作,以便在加载和评估构建设置时调用。设置对象已完全配置并准备好用于加载构建项目。

useLogger(logger)
已弃用

使用给定的对象作为日志记录器。日志记录器对象可以实现 Gradle.addListener(java.lang.Object) 支持的任何侦听器接口。

脚本块

无脚本块

属性详情

ExtensionContainer extensions (只读)

扩展容器。

Gradle gradle (只读)

返回此 Gradle 实例。此方法在初始化脚本中非常有用,用于显式访问 Gradle 属性和方法。例如,使用 gradle.parent 比使用 parent更能表达你的意图。此属性还允许你从属性可能被隐藏的作用域访问 Gradle 属性,例如,从方法或闭包中访问。

File gradleHomeDir (只读)

Gradle 主目录(如果存在)。此目录是包含执行此构建的 Gradle 发行版的目录。

使用“Gradle Daemon”时,这可能与启动构建时使用的 Gradle 发行版不同。如果存在一个被认为是兼容的现有守护进程(例如,具有所需的 JVM 特性),则可以使用此守护进程而不是启动新进程,并且它可能从不同的“gradle home”启动。但是,它保证是相同版本的 Gradle。有关 Gradle Daemon 的更多信息,请参阅用户手册

File gradleUserHomeDir (只读)

Gradle 用户主目录。此目录用于缓存下载的资源、已编译的构建脚本等。

String gradleVersion (只读)

当前 Gradle 版本。

Collection<IncludedBuild> includedBuilds (只读)

此构建包含的构建。

Gradle parent (只读)

此构建的父构建(如果存在)。

PluginManager pluginManager (只读)

此插件感知对象的插件管理器。

PluginContainer plugins (只读)

已应用于此对象的插件容器。

虽然未弃用,但优先使用此接口或 PluginAware.getPluginManager() 的方法,而不是直接使用插件容器。

使用此接口或 PluginAware.getPluginManager() 上的 'apply' 方法之一来应用插件,而不是通过插件容器来应用。

使用 PluginManager.hasPlugin(java.lang.String) 或类似方法来查询插件的应用情况,而不是通过插件容器来查询。

Project rootProject (只读)

此构建的根项目。

StartParameter startParameter (只读)

用于启动此构建的 StartParameter

TaskExecutionGraph taskGraph (只读)

此构建的 TaskExecutionGraph

方法详情

void addBuildListener(BuildListener buildListener)

为此构建实例添加一个 BuildListener。侦听器将在构建执行期间发生事件时收到通知。

void addListener(Object listener)

为此构建添加给定的侦听器。侦听器可以实现以下任意给定的侦听器接口

以下侦听器类型可以使用,但在启用配置缓存时不受支持。它们的使用已被弃用,在未来 Gradle 版本中添加这些类型的侦听器将成为错误

ProjectEvaluationListener addProjectEvaluationListener(ProjectEvaluationListener listener)

为此构建添加一个侦听器,以便在评估项目时接收通知。

void afterProject(Closure closure)

添加一个闭包,以便在项目评估后立即调用。项目作为第一个参数传递给闭包。项目评估失败(如果存在)作为第二个参数传递。这两个参数都是可选的。

void afterProject(Action<? super Project> action)

添加一个动作,以便在项目评估后立即调用。

void allprojects(Action<? super Project> action)

添加一个动作,以便针对此构建的所有项目执行。该动作会立即针对所有已可用的项目执行。它也会在后续项目添加到此构建时执行。

void apply(Closure closure)

应用零个或多个插件或脚本。

给定的闭包用于配置一个 ObjectConfigurationAction,它“构建”了插件应用。

此方法与 PluginAware.apply(java.util.Map) 不同之处在于,它允许多次调用配置动作的方法。

void apply(Map<String, ?> options)

应用一个插件或脚本,使用作为 map 提供的给定选项。如果插件已应用,则不执行任何操作。

给定的 map 作为一系列方法调用应用于新创建的 ObjectConfigurationAction。也就是说,map 中的每个键都应是 ObjectConfigurationAction 的方法名,而对应的值应是该方法兼容的参数。

以下选项可用

  • from:要应用的脚本。接受 Project.uri(java.lang.Object) 支持的任何路径。
  • plugin:要应用的插件的 id 或实现类。
  • to:目标委托对象或对象。默认是此插件感知对象。使用此选项可以配置除此对象以外的对象。

void apply(Action<? super ObjectConfigurationAction> action)

应用零个或多个插件或脚本。

给定的闭包用于配置一个 ObjectConfigurationAction,它“构建”了插件应用。

此方法与 PluginAware.apply(java.util.Map) 不同之处在于,它允许多次调用配置动作的方法。

void beforeProject(Closure closure)

添加一个闭包,以便在项目评估前立即调用。项目作为参数传递给闭包。

void beforeProject(Action<? super Project> action)

添加一个动作,以便在项目评估前立即调用。

void beforeSettings(Closure<?> closure)

添加一个动作,以便在加载和评估构建设置之前调用。

void beforeSettings(Action<? super Settings> action)

添加一个动作,以便在加载和评估构建设置之前调用。

void buildFinished(Closure closure)

注意:此方法已被弃用,并将在下一个主要版本的 Gradle 中移除。

添加一个闭包,以便在构建完成时调用。所有选定的任务都已执行。一个 BuildResult 实例作为参数传递给闭包。

void buildFinished(Action<? super BuildResult> action)

注意:此方法已被弃用,并将在下一个主要版本的 Gradle 中移除。

添加一个动作,以便在构建完成时调用。所有选定的任务都已执行。

IncludedBuild includedBuild(String name)

返回此构建中具有指定名称的包含构建。

void projectsEvaluated(Closure closure)

添加一个闭包,以便在构建的所有项目评估完成后调用。项目对象已完全配置并准备好用于填充任务图。此 Gradle 实例作为参数传递给闭包。

void projectsEvaluated(Action<? super Gradle> action)

添加一个动作,以便在构建的所有项目评估完成后调用。项目对象已完全配置并准备好用于填充任务图。

void projectsLoaded(Closure closure)

添加一个闭包,以便在根据设置创建构建的项目时调用。没有任何项目被评估。此 Gradle 实例作为参数传递给闭包。

一个在 projectsLoaded 中进行挂钩以从初始化脚本配置构建脚本类路径的示例。

//init.gradle
gradle.projectsLoaded {
  rootProject.buildscript {
    repositories {
      //...
    }
    dependencies {
      //...
    }
  }
}

void projectsLoaded(Action<? super Gradle> action)

添加一个动作,以便在根据设置创建构建的项目时调用。没有任何项目被评估。

void removeListener(Object listener)

从此构建中移除给定的侦听器。

从此构建中移除给定的侦听器。

从此构建中移除给定的侦听器。

void removeProjectEvaluationListener(ProjectEvaluationListener listener)

添加一个动作,以便针对此构建的根项目执行。如果根项目已可用,则立即执行该动作。否则,当根项目可用时执行该动作。

void rootProject(Action<? super Project> action)

添加一个闭包,以便在加载和评估构建设置时调用。设置对象已完全配置并准备好用于加载构建项目。Settings 对象作为参数传递给闭包。

void settingsEvaluated(Closure closure)

添加一个动作,以便在加载和评估构建设置时调用。设置对象已完全配置并准备好用于加载构建项目。

void useLogger(Object logger)

注意:此方法已被弃用,并将在下一个主要版本的 Gradle 中移除。

使用给定的对象作为日志记录器。日志记录器对象可以实现 Gradle.addListener(java.lang.Object) 支持的任何侦听器接口。

每个监听器接口都恰好关联一个日志记录器。当您使用给定监听器类型的日志记录器调用此方法时,新的日志记录器将替换当前与该监听器类型关联的日志记录器。这使您可以选择性地将 Gradle 提供的标准日志记录替换为您自己的实现,用于特定类型的事件。