working update studio not false enableaapt2 disable gradle

gradle - update - disable aapt2



¿Cómo aplicar el complemento a todos los proyectos con el nuevo mecanismo de complementos de Gradle? (1)

Antes de Gradle 2.1, podría aplicar el complemento a todos los proyectos utilizando el cierre de todos los proyectos (resolviendo el tarro, por supuesto):

buildscript { repositories { jcenter() } dependencies { classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.0.1" } } allprojects { apply plugin: "com.jfrog.artifactory" }

Con el nuevo mecanismo de publicación, parece que el cierre de plugins no se puede usar dentro de todos los allprojects :

allprojects { plugins { id "com.jfrog.artifactory" version "3.0.1" } }

falla con:

"No se pudieron encontrar los complementos del método () para los argumentos [build_xxxx_run_closure1_closure4 @ yyyyy] en el proyecto raíz"

¿Cuáles son las reglas de uso de cierre de plugins ? ¿El complemento se aplica solo al proyecto actual? Si es así, ¿cómo puedo aplicarlo a todos los proyectos sin repetir el cierre de los plugins dentro de cada compilación?


La nueva sintaxis de los plugins {...} no se puede utilizar dentro de un allprojects {...} o subprojects {...} . Además, solo se puede utilizar dentro de los scripts de compilación (sin complementos de script, scripts de inicio, etc.). Si desea evitar tener que aplicar el complemento a cada proyecto individualmente, le sugiero que utilice la notación anterior. Este es un problema que el equipo de Gradle conoce y se presentará una solución en futuras versiones.

Actualización: A partir de Gradle 3.0, puede hacerlo de forma ligeramente modificada. Aún tiene que usar explícitamente apply() pero ya no tiene que lidiar con todas las tonterías de buildscript { } para obtener el complemento en su classpath. Esto también le permite aplicar condicionalmente complementos. Echa un vistazo a las notas de la versión de Gradle 3.0 para obtener más información.

plugins { id ''my.special.plugin'' version ''1.0'' apply false } allprojects { apply plugin: ''java'' apply plugin: ''my.special.plugin'' }