Sonarqube没有选择Kotlin和Java Coverage gradle项目

这不是不是带有混合源Java和Kotlin的android项目。 尽管许多人在覆盖范围,kotlin和声纳方面存在问题。在这种情况下,我没有找到一个。

Sonarqube没有同时获得Jacoco生成的Kotlin和Java Coverage:

  • 4.8级
  • Java 1.8
  • 科特林1.3.50

它得到了Java语言,但是所有Kotlin类都被忽略了。 我已经在gradle文件中应用了所有必需的插件:

allprojects {
    apply plugin: 'jacoco'
    apply plugin: 'java'
    apply plugin: 'org.sonarqube'
    apply plugin: 'kotlin'

   ...
}
simonfeng88 回答:Sonarqube没有选择Kotlin和Java Coverage gradle项目

首先请确保您的jacocoTestReport创建xml报告:

jacocoTestReport {
    reports {
        xml {
            enabled true
        }
        xml.destination "build/reports/jacocoTestReport.xml"
    }
} 

然后您将需要对所有项目使用sonaqube中的xmlReportPaths属性将这些xml报告强制进入声纳。

在这里您可以看到多个路径,以防万一您的项目中有多个子项目,而这些子项目也具有混合的Java / Kotlin源。

sonarqube {
        properties {
            property "sonar.java.coveragePlugin","jacoco"
            property("sonar.coverage.jacoco.xmlReportPaths","../../build/reports/jacocoTestReport.xml,../build/reports/jacocoTestReport.xml")
        }
}

声纳将考虑所有xml报告并生成整个覆盖范围。

本文链接:https://www.f2er.com/3019065.html

大家都在问