18

我想创建一个自动应用其他(外部插件)的插件。这需要在我调用“应用插件”之前为插件设置 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' 
    }
  }
}
4

1 回答 1

7

解决这个问题的方法是发布 pom.xml 或 ivy.xml 以及描述插件依赖项的插件 Jar。或者,您可以编写一个脚本插件,在一个部分中声明其依赖项buildscript {}。脚本插件只是一个可重用的构建脚本,它与apply from: ....

于 2012-04-10T19:38:07.943 回答