Kotlin Jacoco不生成xml文件
我正在使用gradle与kotlin合作。现在我需要改进代码,我正在与jacoco一起使用sonarqube。但我的保险范围总是0.0%。 我的格拉德尔:Kotlin Jacoco不生成xml文件,kotlin,sonarqube,jacoco,gradle-kotlin-dsl,Kotlin,Sonarqube,Jacoco,Gradle Kotlin Dsl,我正在使用gradle与kotlin合作。现在我需要改进代码,我正在与jacoco一起使用sonarqube。但我的保险范围总是0.0%。 我的格拉德尔: plugins { kotlin("jvm") version "1.3.70" id("org.sonarqube") version "2.8" jacoco `maven-publish` } repositories { mavenLocal() jcenter() }
plugins {
kotlin("jvm") version "1.3.70"
id("org.sonarqube") version "2.8"
jacoco
`maven-publish`
}
repositories {
mavenLocal()
jcenter()
}
sonarqube {
properties {
property("sonar.host.url", "http://localhost:9000")
property("sonar.language", "kotlin")
property("sonar.sourceEncoding", "UTF-8")
property("sonar.projectName", "Commons.Pulsar")
property("sonar.projectKey", "Aries.kt")
property("sonar.projectVersion", "0.0.1")
property("sonar.sources", "src/main/kotlin/")
property("sonar.junit.reportPaths", "src/test/kotlin/")
property("sonar.login", "admin")
property("sonar.password", "admin")
property("sonar.coverage.jacoco.xmlReportPaths", "build/jacoco/test/jacocoTestReport.xml")
}
}
java {
withJavadocJar()
withSourcesJar()
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
from(components["java"])
}
}
}
tasks {
test {
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
}
}
jacocoTestReport {
reports {
xml.isEnabled = true
}
}
compileKotlin {
kotlinOptions.jvmTarget = "11"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "11"
}
}
插件{
kotlin(“jvm”)版本“1.3.70”
id(“org.sonarqube”)版本“2.8”
杰科科
`马文出版社`
}
存储库{
mavenLocal()
jcenter()
}
声纳库贝{
性质{
属性(“sonar.host.url”http://localhost:9000")
属性(“sonar.language”、“kotlin”)
属性(“sonar.sourceEncoding”、“UTF-8”)
属性(“sonar.projectName”、“Commons.Pulsar”)
属性(“sonar.projectKey”、“Aries.kt”)
属性(“sonar.projectVersion”、“0.0.1”)
属性(“sonar.sources”、“src/main/kotlin/”)
属性(“sonar.junit.reportpath”,“src/test/kotlin/”)
属性(“sonar.login”、“admin”)
属性(“sonar.password”、“admin”)
属性(“sonar.coverage.jacoco.xmlReportPath”、“build/jacoco/test/jacoctestreport.xml”)
}
}
爪哇{
withJavadocJar()
withSourcesJar()
}
出版{
出版物{
创建(“mavenJava”){
来自(组件[“java”])
}
}
}
任务{
试验{
useJUnitPlatform()
测试记录{
事件(“已通过”、“跳过”、“失败”)
}
}
jacocoTestReport{
报告{
xml.isEnabled=true
}
}
科特林{
kotlinOptions.jvmTarget=“11”
}
compileTestKotlin{
kotlinOptions.jvmTarget=“11”
}
}
但是我注意到jacocoTestReport.xml并没有被创建。没有创建xml。
有人能帮忙吗?您不需要指定
sonar.coverage.jacoco.xmlReportPaths
属性,只需要确保在sonarqube
目标之前执行任务JacoTestReport
。sonarqube gradle插件足够智能,可以根据jacoco报告检测配置。作为一个例子,我链接了,我们也做了同样的事情
一般来说,sonarqube gradle插件非常强大,如果您使用gradle的所有构建,您的sonarqube块只需如下所示
sonarqube {
properties {
property("sonar.host.url", "http://localhost:9000")
property("sonar.sourceEncoding", "UTF-8")
property("sonar.login", "admin")
property("sonar.password", "admin")
}
}
由于它将检测gradle配置中的其余部分,如中所述,您无需指定
sonar.coverage.jacoco.xmlReportPaths
属性,只需确保在sonarqube
目标之前执行任务JacoTestReport
。sonarqube gradle插件足够智能,可以根据jacoco报告检测配置。作为一个例子,我链接了,我们也做了同样的事情
一般来说,sonarqube gradle插件非常强大,如果您使用gradle的所有构建,您的sonarqube块只需如下所示
sonarqube {
properties {
property("sonar.host.url", "http://localhost:9000")
property("sonar.sourceEncoding", "UTF-8")
property("sonar.login", "admin")
property("sonar.password", "admin")
}
}
由于它将从gradle配置中检测其余部分,如中所述,将JacoTestReport块置于任务块之外是否有效?将JacoTestReport块置于任务块之外是否有效?