2014-01-15 70 views
1

我写了一个定制的gradle插件,它附带一个编译步骤。对于编译,插件本身的某些类是需要的,因为它是一个注释处理器。如何将自定义插件中的buildscript依赖项添加到项目依赖项中?

我试图通过添加插件的编译依赖这种方式来解决这个问题:

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

此解决方案工作,但引入了重复数据删除,因为我必须声明,在构建已经声明相同的插件版本使用该插件的项目的脚本部分:

// 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' 

是否有重用构建脚本部分中定义的依赖项的方法?

+0

这些片段来自插件的构建脚本吗?谁受重复影响?只有插件作者或插件的每个用户? –

+0

它来自插件buildscript,受影响的只是插件所有者。 – thilko

+0

这两个片段?你为什么说“父项目”?这是一个多项目构建?你必须更详细地解释。 –

回答

1

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

相关问题