Sonar Jacoco para Kotlin Setup no genera cobertura de código
Estoy tratando de hacer Sonar Setup con Jacoco paraKotlin para generar un informe de Cobertura de código pero no muestra ninguna cobertura de código. Mientras revisa la consola de sonda, muestra el siguiente error. Alguien ha enfrentado este problema antes, cualquier sugerencia de lo que podría perderse.
Meta info
Plugin con la versión "2.6.1" de sonarqube
gradleVersion = '3.0.1'
kotlinVersion = '1.2.21'
Sonarqube versión = Versión 6.7.1 (compilación 35068) - LGPL v3
La parte frustrante es que mi proyecto de instalación genera un informe de cobertura de código en blanco :(. PFA.
Editar: Encuentre la estructura del proyecto snap.
Estoy agregando la configuración del archivo gradle de sonda y Jacoco que estoy usando para generar un informe de matriz de sonda.
Aquí está el archivo sonar.gradle:
sonarqube {
properties {
property "sonar.projectKey", "jacoco.sonar.test"
property "sonar.projectName", "Sonar Jacoco Test"
property "sonar.projectVersion", "1.1"
property "sonar.java.source", "7"
property "sonar.android.lint.report", "build/outputs/lint-results.xml"
property "sonar.java.binaries", "build/tmp/kotlin-classes"
property "sonar.java.test.binaries", "build/intermediates/classes/test/,build/tmp/kotlin-classes/devDebugUnitTest"
property "sonar.tests","src/test/java"
property "sonar.sources","src/main/java"
property "sonar.java.coveragePlugin", "jacoco"
property "sonar.jacoco.reportPaths","build/jacoco/testDevDebugUnitTest.exec"
property "sonar.junit.reportsPath","build/test-results/testDevDebugUnitTest"
}
}
y aquí está el archivo jacoco.gradle
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.7.9"
reportsDir = file("${project.projectDir}/app/build/reports")
}
task jacocoTestReport(type: JacocoReport, dependsOn: "app:testDevDebugUnitTest") {
group = "Reporting"
reports {
xml.enabled = true
html.enabled = true
}
def fileFilter = ['**/R.class',
'**/R$*.class',
'**/BuildConfig.*',
'**/*$ViewInjector*.*',
'**/*$ViewBinder*.*',
'**/*$MembersInjector*.*',
'**/Manifest*.*',
'**/*Test*.*',
'android/**/*.*']
classDirectories = fileTree(
dir: "${project.projectDir}/app/build/intermediates/classes/dev",
excludes: fileFilter
) + fileTree(
dir: "${project.projectDir}/app/build/tmp/kotlin-classes/devDebug",
excludes: fileFilter
)
// sources
sourceDirectories = files(["${project.projectDir}/app/src/main/java"])
executionData = files("${project.projectDir}/app/build/jacoco/testDevDebugUnitTest.exec")
}
Siguiendo los comandos gradle que estoy usando para generar el informe Jacobo y luego elevar el informe.
./gradlew clean jacocoTestReport sonarqube
Observé lo siguiente que estoy recibiendo, debe emitirse algún camino.
No se recopiló información de cobertura. ¿Quizás olvide incluir información de depuración en clases compiladas?
Lo siento, si esto parece un poco largo; pero esto es lo mejor que encontré para resumir en un solo lugar. Tenga en cuenta también que probé una configuración similar con la clase Java en lugar de que kotlin esté generando un informe con cobertura de código.