Quiero crear un complemento que aplique automáticamente otros (complementos externos). Esto requiere establecer la dependencia de compilación para el complemento antes de llamar "aplicar complemento". Sin embargo, parece que no puedo agregar dependencias de compilación en un complemento o recibo: ¡No puede cambiar una configuración que no está en estado sin resolver!Crear un complemento de Gradle con una dependencia de otro complemento (externo)
¿Hay una solución a esto?
Mi muestra (no de trabajo) Código:
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'
}
}
}
En caso de que alguien esté interesado en cómo se hace exactamente esto: debe ampliar el POM predeterminado en su MavenPublication. Los complementos Nebula de Netflix son una excelente fuente de ejemplos: https://github.com/nebula-plugins/nebula-publishing-plugin/blob/master/src%2Fmain%2Fgroovy%2Fnebula%2Fplugin%2Fpublishing%2Fmaven%2FMavenJavaPublishingPlugin.groovy – Matthias
Último enlace a Nebula Publish Plugin, en caso de que alguien visite esta página. https://github.com/nebula-plugins/nebula-publishing-plugin/blob/master/src/main/groovy/nebula/plugin/publishing/maven/MavenPublishPlugin.groovy – dmahapatro