sonarqube-scan - 如何将 SonarQube Gradle 插件配置从 Groovy 转换为 Kotlin DSL

标签 sonarqube-scan gradle-kotlin-dsl

我的 build.gradle 中有以下配置,我想将其转换为 Kotlin DSL:

jacocoTestReport {
    reports {
        xml.enabled true
        xml.destination(file("${jacoco.reportsDir}/my-tests/jacocoMyTestReport.xml"))
    }
}

sonarqube {
    properties {
        property "sonar.coverage.jacoco.xmlReportPaths", jacocoTestReport.reports.xml.destination
    }
}

这是我尝试转换 sonarqube block ,但失败了

Unresolved reference: reports

sonarqube {
    properties {
        property("sonar.coverage.jacoco.xmlReportPaths", tasks.named<JacocoReport>("jacocoTestReport").reports.xml.destination)
    }
}

这里出了什么问题?如何使用 Kotlin 访问 jacocoTestReport.reports.xml.destination 属性?

最佳答案

请尝试类似的操作:

tasks {
    sonarqube {
        val path = jacocoTestReport.get().reports.xml.outputLocation.get()
        properties {
            property("sonar.coverage.jacoco.xmlReportPaths", path)
        }
    }

    withType<org.sonarqube.gradle.SonarTask>().configureEach {
        dependsOn(test, jacocoTestReport)
    }
}

这对我有用

关于sonarqube-scan - 如何将 SonarQube Gradle 插件配置从 Groovy 转换为 Kotlin DSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73452889/

相关文章:

kotlin - 我可以在Kotlin中编写gradle buildSrc吗?

intellij-idea - gRPC UnsupportedAddressTypeException,但仅当与 shadowJar 打包时

sonarqube - 如何将 Sonar 插件与 Hudson 一起使用?

java - 如何将模块添加到 Sonar 的 Maven 多项目中?

spring-boot - SonarQube 提示 JpaRepository 方法名称

intellij-idea - 预期的类没有实际声明

android - TaskGraph.useFilter 替代 kotlin dsl

python - Sonar Issue : Remove this "\", 添加另一个 "\"对其进行转义,或将其设为原始字符串

java - 生成用于单元和集成测试的 Sonar 覆盖报告

gradle - Gradle Kotlin DSL:配置任务: Unresolved reference