Создание плагина Gradle с зависимостью от другого (внешнего) плагина

Я хочу создать плагин, который автоматически применяет другие (внешние плагины). Для этого требуется установить зависимость 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

Путь к этому - опубликовать pom.xml или ivy.xml вместе с плагином Jar, который описывает зависимости плагина. Кроме того, вы можете написать плагин script, который объявляет свои зависимости в разделе buildscript {}. Плагин script - это просто многоразовая сборка script, которая применяется с помощью apply from: ....