代码之家  ›  专栏  ›  技术社区  ›  Thor

Gradle的新插件DSL语法

  •  0
  • Thor  · 技术社区  · 7 年前

    我目前正在学习Gradle构建工具,特别是文档中的 new plugins dsl syntax 。在链接中,作者提到

    我理解,对于每个 build.gradle file,gradle隐式地创建一个类型为 project的对象,供程序员使用,并且在 build.gradle中声明的每个变量/方法隐式地附加到 project object,因此我查找了 项目类API文档 一种称为“代码>插件/<代码>的方法,它接受一个闭包作为其第一个参数,但不存在。

    我了解更新的插件DSL的语法是打算替换传统的 apply() method mechanism。但是为什么我找不到 plugins method in the project class's documentation?,在文档中。在链接中,作者提到

    enter image description here

    我理解每一个 build.gradle 文件,Gradle隐式创建类型为的对象 Project 供程序员使用,以及 平地 文件隐式附加到 项目 对象,所以我查了一下 Project class API documentation 对于调用的方法 plugins 接受一个闭包作为第一个参数,但不存在。

    我知道更新的插件DSL语法是要取代传统的 apply() 方法机制。但为什么我找不到 插件 方法在 项目 班级文件?

    1 回复  |  直到 7 年前
        1
  •  2
  •   M.Ricciuti    7 年前

    项目 接口继承自 插件程序 接口,这就是处理“插件”功能的地方:参见方法规范 https://docs.gradle.org/current/javadoc/org/gradle/api/plugins/PluginAware.html#getPlugins--

    但事实上, 插件{} 语法与项目类的属性或方法无关:它是 脚本块 这是格拉德尔以一种特殊的方式处理的,比如 建筑脚本 块。您可以在官方文件中找到相关细节: https://docs.gradle.org/current/dsl/org.gradle.plugin.use.PluginDependenciesSpec.html

    注意:我建议您检查DSL文档而不是JavaDoc(或JavaDoc之外的文档):我认为它提供了编写构建脚本时可以使用的更好描述,并提供了示例。例如,“插件”属性记录在以下位置: https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#org.gradle.api.Project:plugins

    当做。

    推荐文章