创建一个依赖于另一个(外部)插件的Gradle插件

时间:2012-04-09 23:46:58

标签: gradle

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

1 个答案:

答案 0 :(得分:7)

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