gradle - 找不到方法 sonarProperties()
问题描述
我正在尝试配置build.gradle
生成代码覆盖率报告并将其上传到声纳
import static org.apache.tools.ant.taskdefs.condition.Os.*
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.1"
}
}
plugins {
id "org.sonarqube" version "2.6.1"
id "java"
}
task sonarRunner {
sonarProperties {
property "sonar.host.url", sonar.host.url
property "sonar.organization", sonar.organization
property "sonar.projectKey", sonar.projectKey
property "sonar.login", sonar.login
property "sonar.jacoco.reportPath", sonar.jacoco.reportPath
}
}
task generateReport {
exec {
commandLine 'ant', 'jacoccoalltests', '-Dtestclasses.extensions=' + code.coverage.extensions
}
}
task checkOs() << {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine 'setantenv.bat'
}
if(Os.isFamily(Os.FAMILY_UNIX)) {
exec {
executable "./setantenv.sh"
}
}
if(Os.isFamily(Os.FAMILY_MAC)) {
exec {
executable ". ./setantenv.sh"
}
}
}
sonarRunner.dependsOn generateReport
generateReport.dependsOn checkOs
当我运行./gradlew clean build我有以下错误
原因:org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException:在 org.gradle.api.DefaultTask 类型的任务 ':sonarRunner' 上找不到参数 [build_5g79eps6d8kumu5fvgq9l0s46$_run_closure1$_closure5@1f58d70] 的方法 sonarProperties()
我该如何解决这个问题?
解决方案
为了配置SonarQube插件,您需要使用名为的Gradle 扩展,如此处sonarqube
所述
sonarqube {
properties {
property "sonar.exclusions", "**/*Generated.java"
property "sonar.host.url", sonar.host.url
property "sonar.organization", sonar.organization
property "sonar.projectKey", sonar.projectKey
property "sonar.login", sonar.login
property "sonar.jacoco.reportPath", sonar.jacoco.reportPath
}
}
另请参阅此插件存储库中的 README
推荐阅读
- apache-spark - Spark Structural Streaming 输出模式问题
- javascript - 如何从 Cloud Firestore 中检索多个文档,但没有重复?
- c# - ALINK:错误 AL1078:错误签名程序集 -- 未知错误 (8013141c)
- gradle - gradle:在制作 fatJar 时排除依赖项
- javascript - 从可选到对象
- gcc - 其中只编译源文件但不链接目标文件的场景
- azure - Azure AD B2C 无密码登录自定义策略
- python - 如何复制列表值并附加回同一个列表?
- reactjs - 为什么我的反应路由器交换机未检测到身份验证状态更改?
- java - 带有 MultipartFile 参数的 SpringBoot 端点的不完整 Swagger 文档