繁体   English   中英

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

[英]Sonarqube not picking up both Kotlin and Java Coverage gradle project

不是混合源 Java 和 Kotlin 的 android 项目。 尽管许多人在覆盖范围、kotlin 和声纳方面存在问题。 我没有找到这个案例。

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

  • 摇篮 4.8
  • 爪哇 1.8
  • 科特林 1.3.50

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

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

   ...
}

首先确保您的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 报告并生成整个覆盖范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM