PluginManager

API 文档PluginManager

方便应用插件并确定哪些插件已应用于 PluginAware 对象。

属性

无属性

方法

方法描述
apply(type)

应用给定的插件。如果插件已被应用,则不执行任何操作。

apply(pluginId)

应用具有给定 ID 的插件。如果插件已被应用,则不执行任何操作。

findPlugin(id)

返回有关已应用给定 ID 的插件的信息;如果未应用具有给定 ID 的插件,则返回 null。

hasPlugin(id)

如果已应用具有给定 ID 的插件,则返回 true,否则返回 false

withPlugin(id, action)

当应用指定的插件时,执行给定的操作。

脚本块

无脚本块

方法详情

void apply(Class<?> type)

应用给定的插件。如果插件已被应用,则不执行任何操作。

给定的类应实现 Plugin 接口,并针对兼容的 this 类型进行参数化。

以下两行代码是等效的…

pluginManager.apply org.gradle.api.plugins.JavaPlugin
pluginManager.apply "org.gradle.java"

void apply(String pluginId)

应用具有给定 ID 的插件。如果插件已被应用,则不执行任何操作。

"org.gradle" 命名空间中的插件可以直接通过名称应用。也就是说,以下两行代码是等效的…

pluginManager.apply "org.gradle.java"
pluginManager.apply "java"

AppliedPlugin findPlugin(String id)

返回有关已应用给定 ID 的插件的信息;如果未应用具有给定 ID 的插件,则返回 null。

"org.gradle" 命名空间中的插件(即核心 Gradle 插件)可以通过名称(例如 "java")或 ID "org.gradle.java" 指定。所有其他插件必须通过其完整 ID 查询(例如 "org.company.some-plugin")。

某些 Gradle 插件尚未迁移到完全限定的插件 ID。通过简单地使用非限定 ID(例如 "some-third-party-plugin"),可以使用此方法检测此类插件。

boolean hasPlugin(String id)

如果已应用具有给定 ID 的插件,则返回 true,否则返回 false

void withPlugin(String id, Action<? super AppliedPlugin> action)

当应用指定的插件时,执行给定的操作。

如果已应用具有指定 ID 的插件,则将立即执行提供的操作。否则,将在应用具有指定 ID 的插件后立即执行该操作。

给定的操作始终在插件应用后执行。