Saltar al contenido

Excluyendo las clases de Lombok del informe de cobertura de Sonar

Mantén la atención porque en este enunciado vas a hallar el hallazgo que buscas.Esta división ha sido analizado por nuestros expertos para asegurar la calidad y exactitud de nuestro post.

Solución:

Como se menciona aquí: https://github.com/jacoco/jacoco/pull/513#issuecomment-293176354

el filtrado se realiza en el momento de la generación del informe (creación de html, xml, etc.), no en el momento de la recopilación de información de ejecución (creación del archivo exec). Entonces, las herramientas que leen datos de ejecución directamente en lugar de leer xml (que es una especie de error de su parte confiar en un formato intermedio puramente interno, pero lo hecho, hecho está) y crean su propio informe (como SonarQube, Jenkins, etc. ) deberán actualizar su dependencia de JaCoCo una vez que se publique para poder filtrar los informes. Notificaremos explícitamente a los proyectos posteriores (en particular a todos los mencionados anteriormente) sobre esto cuando se realice nuestro lanzamiento. Entonces, una vez más, tenga paciencia. Gracias por su comprensión.

No encontré una manera para que Sonar lea el informe final en lugar del archivo exec, así que supongo que debemos ser pacientes y esperar el lanzamiento oficial del complemento jacoco 0.7.10 y luego una actualización en el lado de Sonar.

—— ACTUALIZACIÓN 9 de mayo de 2018

Se han lanzado nuevas versiones y puedo confirmar que funciona para mí.

Utilizando :

  • Sonda 6.7
  • Complemento SonarJava 5.1.1.13214
  • Complemento jacoco maven 0.8.1
  • lombok.addLombokGeneratedAnnotation=true en lombok.config

Ahora obtengo mejores resultados de cobertura informados a Sonar, ya que ahora se ignora el código generado por Lombok. Realmente ayuda a identificar cuáles son las áreas descubiertas “reales” y si es arriesgado o no.

Primero tienes que comprobar que tu versión de lombok es al menos 1.16.14

pom.xml:


    org.projectlombok
    lombok
    provided
    1.16.14

Entonces tienes que comprobar que tu versión de Jacoco es al menos 0.8.0

pom.xml:


    org.jacoco
    jacoco-maven-plugin
    0.8.0
    

Luego hay que agregar un lombok.config archivo en el src carpeta de su proyecto (no en el resources carpeta)

lombok.config:

# tells Lombok that this is the root directory and that it shouldn’t search parent directories for more configuration files
config.stopBubbling = true
# tells Lombok to add @lombok.Generated annotation to all generated methods
lombok.addLombokGeneratedAnnotation = true

Aquí tienes las comentarios y puntuaciones

Nos puedes proteger nuestra misión añadiendo un comentario y dejando una valoración te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *