Покрытие кодом Jacoco для Sonarqube 8 с использованием Gradle - PullRequest
1 голос
/ 06 апреля 2020

Кодовое покрытие показывает 0% на приборной панели

enter image description here

build.gradle file

plugins {
    id "org.sonarqube" version "2.8"
    id "java"
    id "idea"
    id "jacoco"
}

jacoco {
    toolVersion = "0.8.5"
}

jacocoTestReport {
    reports {
        html.enabled true
        xml.enabled true
        xml.destination file("${buildDir}/reports/jacoco.xml")
    }
}

plugins.withType(JacocoPlugin) {
    tasks["test"].finalizedBy 'jacocoTestReport'
}

sonarqube {
    properties {
        property "sonar.java.coveragePlugin", "jacoco"
        property "sonar.host.url", "http://169.254.1.100:9000"
        property "sonar.coverage.jacoco.xmlReportPath", "${buildDir}/reports/jacoco.xml"
    }
}

repositories {
    mavenCentral()
    jcenter()
}

dependencies {
    // https://mvnrepository.com/artifact/junit/junit
    testCompile 'junit:junit:4.12'

}

check.dependsOn jacocoTestReport

Выполнение этой команды

./gradlew build jacocoTestReport sonarqube

JacocoTestReport генерируется с правильным покрытием кода

Задание Sonarqube gradle создает этот журнал

> Task :sonarqube
SonarScanner will require Java 11 to run starting in SonarQube 8.x
Property 'sonar.jacoco.reportPath' is no longer supported. Use JaCoCo's xml report and sonar-jacoco plugin.
Property 'sonar.jacoco.reportPaths' is no longer supported. Use JaCoCo's xml report and sonar-jacoco plugin.

Bee Googling за полдня и единственные реальные решения для Эта проблема заключается в следующем: Свойство 'sonar.jacoco.reportPath' устарело. Пожалуйста, используйте 'sonar.jacoco.reportPaths' вместо

Этот ответ здесь объясняет двойной вывод:

Property 'sonar.jacoco.reportPaths' is no longer supported. Use JaCoCo's xml report and sonar-jacoco plugin.

Однако, похоже, этого не было добавлен в плагин Gradle, так как используемый плагин - 2.8, самый последний на момент публикации.

Есть что-то, чего мне не хватает?

1 Ответ

0 голосов
/ 22 апреля 2020

Необходимо включить XML свойство отчета как true.

xml .enabled true

...