¿Cómo depurar un complemento de Gradle?

Estoy intentando firmar un artefacto Android AAR usando el complemento de registro de gradle . Desafortunadamente, estoy obteniendo una NullPointerException bastante inútil en el proceso:

 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':library:signArchives'. > java.lang.NullPointerException (no error message) * Try: Run with --info or --debug option to get more log output. * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':library:signArchives'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) [...snip...] at org.gradle.launcher.Main.main(Main.java:37) at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50) at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32) at org.gradle.launcher.GradleMain.main(GradleMain.java:23) at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:33) at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:130) at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48) Caused by: java.lang.NullPointerException at org.bouncycastle.openpgp.PGPSignatureGenerator.initSign(Unknown Source) at org.bouncycastle.openpgp.PGPSignatureGenerator.initSign(Unknown Source) at org.bouncycastle.openpgp.PGPSignatureGenerator$initSign.call(Unknown Source) at org.gradle.plugins.signing.signatory.pgp.PgpSignatory.createSignatureGenerator(PgpSignatory.groovy:54) at org.gradle.plugins.signing.signatory.pgp.PgpSignatory.sign(PgpSignatory.groovy:64) [...snip...] ... 52 more BUILD FAILED 

¿Cuál es la forma más fácil de depurar esta excepción? ¿Hay una manera de adjuntar un depurador a gradle? ¿Puedo crear el complemento de registro, insertar algunas instrucciones de registro y decirle a mi compilación que recoja mi versión personalizada en lugar de la que se entrega con ella?

De acuerdo con un hilo en los foros gradle hay un poco secreto org.gradle.debug -flag que le permite adjuntar un depurador.

 gradle someTask --no-daemon -Dorg.gradle.debug=true 

Para el hotfixing / custom-plugin debería ser suficiente para poner su complemento copiado y modificado en rootProjectDir/buildSrc/src/main/groovy . Puede leer más acerca de cómo escribir un complemento personalizado en el sitio de Gradle .

  • Android: Alternativa de temporizador / retraso
  • Insertar y seleccionar datos en árabe Android SQLite
  • Convertir valor segundos a horas minutos segundos?
  • Cómo calcular el tamaño de un archivo en Android
  • Cómo usar arrastrar y soltar en la vista de reciclador utilizando la base de datos en tiempo real firebase
  • Android - ¿Cómo añadir mi propio codec de audio a AudioRecord?
  • Cómo deshabilitar el desplazamiento horizontal en la vista web de Android
  • Gradle Sync Falló - Android Studio 2.3.1
  • Error de sintaxis: Insertar "}" para completar el bloque
  • Explicación del ejemplo de JetBoy para dev.android.com?
  • ¿Es android: showAsAction obsoleto?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.