如何将自定义插件中的构建脚本依赖项添加到项目依赖项中?

thi*_*lko 6 gradle

我写了一个自定义的 gradle 插件,它带有一个额外的编译步骤。为了编译,需要插件本身的一些类,因为它是一个注释处理器。

我尝试通过以下方式添加插件作为编译依赖项来解决它:

// in the custom plugin 
project.dependencies {
  compile "com.thilko.spring:gradle-springdoc-plugin:0.1.SNAPSHOT"
  compile localGroovy()
}
Run Code Online (Sandbox Code Playgroud)

该解决方案有效,但引入了重复,因为我必须声明已在使用该插件的项目的构建脚本部分中声明的相同插件版本:

// build.gradle of the project that uses the plugin
buildscript {
    repositories {
    mavenCentral()
  }
  dependencies {
    classpath "com.thilko.spring:gradle-springdoc-plugin:0.1"
  }
}

apply plugin: 'springdoc'
Run Code Online (Sandbox Code Playgroud)

有没有办法重用构建脚本部分中定义的依赖项?

Pet*_*ser 1

如果您认为值得,您可以在buildscript块内声明一个额外的属性(例如ext.springdocPlugin = "com.thilko.spring:gradle-springdoc-plugin:0.1.SNAPSHOT"),然后从外部重用它(例如dependencies { compile buildscript.springdocPlugin })。