Contents

Java Gradle 插件开发插件能够被用来协助Gradle插件的开发..
它自动的应用Java Library插件,增加gradleApi依赖到 api配置 并且在jar 任务执行阶段执行插件元数据的验证 …
此插件和TestKit进行集成,这是一个专注于为插件代码编写并执行功能性测试的库 ..
它自动的增加gradleTestKit() 依赖到 testImplementation配置 并生成一个插件类路径manifest文件 - 如果发现则由GradleRunner 实例消费 …
请参考使用插件开发插件自动注入类路径了解更多使用,配置选项以及示例 ..

Usage

为了使用Java Gradle 插件开发插件,包括以下内容到构建脚本中

  1. plugins {
  2. id 'java-gradle-plugin'
  3. }

应用此插件将自动的应用Java Library 插件 并且会增加 gradleApi() 依赖到 api 配置中.
同样它也会增加某些验证到构件中 …
以下验证将会执行:

  • 由此插件定义的插件描述器
  • 包含一个implementation-class 属性的插件描述器
  • 此implementation-class 属性引用了此jar中的有效的类
  • 每一个属性getter 或者 对应的字段必须使用属性注解注释(例如@InputFile 以及 @OutputDirectory). 对于不参与up-to-date(一般来说这跟增量构建有关) 检查应该注释为@Internal;

任何一个验证失败将会导致一个警告消息 ..
对于每一个插件(你开发的),增加一个entry到gradlePlugin{}脚本块中 ..

增加开发的插件到gradlePlugin block

gradlePlugin {
    plugins {
        simplePlugin {
            id = 'org.gradle.sample.simple-plugin'
            implementationClass = 'org.gradle.sample.SimplePlugin'
        }
    }
}

这个gradlePlugin {} block 定义了这个插件由项目构建(且包括了id 以及 插件的implementationClass).
根据这些关于正在开发的插件数据,Gradle 可以自动: