used tools the supports stored specify plugin multiple executed called builds belong are and plugins build gradle

plugins - tools - to build android project, which version of gradle is required?



ID de complemento Gradle personalizada no encontrada (3)

El plugin Jar se debe agregar como una dependencia de script de compilación :

buildscript { repositories { flatDir name: ''libs'', dirs: "../build/libs" } dependencies { classpath ''test:test-plugin:0.1'' } } apply plugin: "test-plugin"

Estoy escribiendo un plugin de Gradle y no consigo que el comando Apply apply plugin: funcione en el script de Gradle que usa el plugin. Estoy usando Gradle 1.1.

He compilado el complemento con clean build y estoy intentando agregarlo a la compilación de Gradle a través de un repositorio plano por ahora. Eso parece estar funcionando pero Gradle no se da cuenta de que hay un complemento con el ID test-plugin . El nombre del proyecto en settings.gradle del complemento es test-plugin y el archivo de propiedades en META-INF/gradle-plugins también es test-plugin.properties . No estoy seguro de dónde más puedo especificar la ID del complemento.

El archivo gradle.build en el proyecto que está usando el test-plugin :

repositories { flatDir name: ''libs'', dirs: "../build/libs" } dependencies { compile ''test:test-plugin:0.1'' } apply plugin: ''test-plugin''

Error de Gradle:

What went wrong: A problem occurred evaluating root project ''tmp''. Plugin with id ''test-plugin'' not found.


Si desea implementar un complemento en su buildscript, entonces tiene dos opciones.

Opción 1
apply plugin: YourCustomPluginClassName

opcion 2
plugins { id ''your.custom.plugin.id'' }

apply plugin: se usa cuando se especifica su plugin por su nombre de clase (por ejemplo, apply plugin: JavaPlugin )
plugins { } se utilizan al especificar su complemento por su id (ej. plugins { id ''java'' } )
Ver Gradle Plugins por tutorialspoint para referencia

Si elige la Opción 1, el complemento personalizado deberá incorporarse a su script de compilación de 1 a 3 formas.
1. Puede codificarlo directamente dentro de su script de compilación de Gradle.
2. Puede ponerlo bajo buildSrc (por ejemplo, buildSrc / src / main / groovy / MyCustomPlugin ).
3. Puede importar su complemento personalizado como un jar en su método de buildscript .
Ver Gradle Goodness por el Sr. Haki para obtener información sobre el método buildscript .

Si elige la Opción 2, necesita crear una ID de complemento. Cree el siguiente archivo buildSrc / src / main / resources / META-INF / gradle-plugins / [desired.plugin . Copie y pegue implementation-class=desired.plugin.id en su archivo .properties recién creado. Reemplace ''id'' con su id de complemento deseado.
Consulte los complementos personalizados de Gradle para obtener más información.


También tuve el mismo problema con un ID de complemento personalizado que no se encuentra. En mi caso, simplemente olvidé agregar el archivo de propiedades ''src / main / resources / META-INF / gradle-plugins''. El nombre del archivo de propiedades debe coincidir con el nombre del ID del complemento con una extensión ''.properties''.

El archivo debe contener una línea:

implementation-class=(your fully qualified plugin classpath)

Ese es el mecanismo completo sobre cómo los identificadores de complementos se resuelven a los nombres de clase.

Además, el complemento debe agregarse como una dependencia como se señaló en la respuesta anterior. La documentación de Android indica que debe usar un nombre asociado con su nombre de dominio único. Es decir: el nombre ''test-plugin'' no está realmente en buena forma, pero un id como ''com.foo.gradle.test-plugin'' sería mejor.