我想创建一个自动应用其他插件(外部插件)的插件。这需要在我调用“apply plugin”之前设置插件的buildscript依赖项。然而,似乎我无法在插件中添加buildscript依赖项,或者我得到: 您无法更改未处于未解决状态的配置!
有解决方法吗?
我的示例(非工作)代码:
import org.gradle.api.Project
import org.gradle.api.Plugin
class SamplePlugin implements Plugin<Project>{
void apply(Project project) {
project.buildscript.dependencies.add("classpath","net.sourceforge.cobertura:cobertura:1.9.4.1");
project.configure(project){
apply plugin: 'cobertura'
}
}
}
答案 0 :(得分:7)
解决这个问题的方法是发布一个pom.xml或ivy.xml以及描述插件依赖项的插件Jar。或者,您可以编写一个脚本插件,在buildscript {}
部分声明其依赖项。脚本插件只是一个可重用的构建脚本,可以使用apply from: ...
来应用。