Sonarqube 没有选择 Kotlin 和 Java Coverage gradle 项目
Sonarqube not picking up both Kotlin and Java Coverage gradle project
这不是一个android项目,混合源Java和Kotlin。
尽管许多人在覆盖范围、kotlin 和声纳方面存在问题。我没有找到适合这种情况的。
Sonarqube 没有选择 Kotlin 和 Java Jacoco 生成的报道:
- Gradle 4.8
- Java1.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 报告并生成整个覆盖范围。
这不是一个android项目,混合源Java和Kotlin。 尽管许多人在覆盖范围、kotlin 和声纳方面存在问题。我没有找到适合这种情况的。
Sonarqube 没有选择 Kotlin 和 Java Jacoco 生成的报道:
- Gradle 4.8
- Java1.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 报告并生成整个覆盖范围。