coverage - cobertura java
cobertura-maven-plugin con java 8 (3)
¿Soy yo o el complemento de cobertura-maven no funciona con java 8? cuando corre me sale
[INFO] --- cobertura-maven-plugin:2.6:instrument (default) @ provider-impl ---
[INFO] Cobertura 2.0.3 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file
[cobertura] WARN [main] net.sourceforge.cobertura.instrument.CoberturaInstrumenter - Unable to instrument file /var/lib/jenkins/workspace/BranchBuilder/implementations/provider-impl/target/generated-classes/cobertura/com/foo/impl/internal/ServiceProviderImpl$JoinRunner.class
java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at net.sourceforge.cobertura.instrument.CoberturaInstrumenter.instrumentClass(CoberturaInstrumenter.java:147)
at net.sourceforge.cobertura.instrument.CoberturaInstrumenter.instrumentClass(CoberturaInstrumenter.java:121)
at net.sourceforge.cobertura.instrument.CoberturaInstrumenter.addInstrumentationToSingleClass(CoberturaInstrumenter.java:234)
at net.sourceforge.cobertura.instrument.Main.addInstrumentationToSingleClass(Main.java:298)
at net.sourceforge.cobertura.instrument.Main.addInstrumentation(Main.java:307)
at net.sourceforge.cobertura.instrument.Main.parseArguments(Main.java:399)
Sé que hubo problemas con ASM y java 8, así que sospecho que el problema es que el complemento de Maven no se ha actualizado para usar una versión compatible con java-8 de ASM
Para referencia, hice la pregunta here pero no obtuve respuesta
¿Alguien ha logrado usar cobertura-maven-plugin con java 8?
Es un tema abierto para que entienda el nuevo formato de clase,
https://github.com/mojohaus/cobertura-maven-plugin/issues/21
Esto también sucede si tiene un complemento de cobertura en sus secciones <build>
y <reporting>
. Retire uno y el problema desaparecerá.
Pude hacerlo funcionar actualizando manualmente la dependencia ASM utilizada por el complemento cobetura-maven. Aquí hay un enlace con más detalles: http://www.befreeman.com/2014/09/getting-cobertura-code-coverage-with.html