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)

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

apply(action)

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

beforeProject(closure)

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

beforeProject(action)

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

beforeSettings(closure)

添加一个操作,在构建设置加载和评估前调用。

beforeSettings(action)

添加一个操作,在构建设置加载和评估前调用。

buildFinished(closure)
废弃 (Deprecated)

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

buildFinished(action)
废弃 (Deprecated)

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

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)
废弃 (Deprecated)

使用给定对象作为记录器。记录器对象可以实现 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)

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

给定的映射将作为一系列方法调用应用于新创建的 ObjectConfigurationAction。也就是说,映射中的每个键都应是 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 实例作为参数传递给闭包。

从 init 脚本挂接到 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)

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

void settingsEvaluated(Closure closure)

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

void settingsEvaluated(Action<? super Settings> action)

添加一个操作,在构建设置加载和评估后调用。设置对象已完全配置并可用于加载构建项目。

void useLogger(Object logger)

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

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

每个侦听器接口都只有一个关联的记录器。当您使用给定侦听器类型的记录器调用此方法时,新记录器将替换当前与该侦听器类型关联的任何记录器。这允许您有选择地用您自己的实现替换 Gradle 提供的标准日志记录,以用于某些类型的事件。