He estado usando el plugin Cobertura para la generación de informes y la instrumentación (con surefire). Este es el problema al que me enfrento:Ignorando la generación de informes para clases específicas en el plugin cobertura maven
No puedo hacer que el complemento ignore la generación de informes para clases específicas en mi proyecto.
PF debajo del extracto relacionado de pom.xml, he agregado la etiqueta de ignorar, pero eso simplemente ignora la instrumentación para las clases ignoradas.
Quiero que el informe para proyectos específicos no se genere en absoluto.
En primer lugar, debido a mi conocimiento limitado de Maven y Conberture, quiero saber si es posible, y si es así, ¿cuáles son los cambios que debo hacer en pom.xml?
pom.xml
<report>
<!-- other plugins exist but are not important to be listed here I guess -->
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>false</skipTests>
<systemProperties>
<property>
<name>net.sourceforge.cobertura.datafile</name>
<value>target/cobertura/cobertura.ser</value>
</property>
</systemProperties>
</configuration>
</plugin>
<!-- The following is the plugin for cobertura, which takes care of integration and report generation-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<configuration>
<check>
<branchRate>50</branchRate>
<lineRate>50</lineRate>
<haltOnFailure>true</haltOnFailure>
<totalBranchRate>50</totalBranchRate>
<totalLineRate>50</totalLineRate>
<packageLineRate>50</packageLineRate>
<packageBranchRate>50</packageBranchRate>
</check>
<instrumentation>
<ignores>
<ignore>deshaw.dportal.alert.*</ignore>
<ignore>deshaw.dportal.atc.*</ignore>
<ignore>deshaw.dportal.basket.*</ignore>
<ignore>deshaw.dportal.fcs.*</ignore>
<ignore>deshaw.dportal.event.*</ignore>
<ignore>deshaw.dportal.filings.*</ignore>
<ignore>deshaw.dportal.glg.*</ignore>
<ignore>deshaw.dportal.icp.*</ignore>
</ignores>
</instrumentation>
</configuration>
</plugin>
</report>
Editar:
Esta mi estructura de directorios:
module
|
|-apps
| |-alert
| | |-src
| | |-target
| | |-pom.xml
| |-------------------
| |-company
| | |-src
| | |-target
| | |-pom.xml
|-----------------------
|-jobs
| |-job1
| | |-src
| | |-target
| | |-pom.xml
| |-job2
| | |-src
| | |-target
| | |-pom.xml
He intentado lo siguiente en el módulo/pom.xml
<instrumentation>
<excludes>
<exclude>**/apps/*.*</exclude>
</excludes>
</instrumentation>
Todavía obtengo los informes generados tanto en las alertas como en el directorio de la compañía.
Probablemente la exclusión de expresiones regulares no es correcta?
Estoy investigando este tema yo mismo. Y es tremendamente molesto porque tengo mucha cobertura que no se ignora. ¿Alguna idea de soluciones? –
La única solución posible que tengo hasta ahora es, incluido el complemento en los POM secundarios, para los niños que desea que se genere el informe. Aparte de eso, no hay otra manera factible de hacerlo AFAIK. – Neeraj
Este error se ha corregido recientemente en la versión 2.5.2 del plugin de cobertura maven – Ben