Создание плагина 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: ...
.