小编And*_*hen的帖子

不推荐使用属性“ sonar.jacoco.reportPath”。请改用'sonar.jacoco.reportPaths'

不推荐使用属性“ sonar.jacoco.reportPath”。请改为使用“ sonar.jacoco.reportPaths”。

当通过Gradle运行SonarQube时,我一直收到此消息,并且短语“ reportPath”甚至在整个多模块项目中甚至都没有出现。我什至将sonarqube属性放在allprojects下,以覆盖可能存在的任何默认设置。关于如何摆脱此错误的任何提示?

我在用:

allprojects {
    sonarqube {
        properties {
            property "sonar.jacoco.reportPaths", "${project.buildDir}/jacoco/test.exec"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑1:

摇篮包装3.1

我在build.gradle的根目录中使用它

plugins {
    id "jacoco"
    id "org.sonarqube" version "2.5"
}
Run Code Online (Sandbox Code Playgroud)

并尝试了您的建议

allprojects {
    sonarqube {
        properties {
            property "sonar.jacoco.reportPath", ""
            property "sonar.jacoco.reportPaths", "${project.buildDir}/jacoco/test.exec"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

没有骰子,你怎么看?

java gradle jacoco sonarqube

7
推荐指数
1
解决办法
1万
查看次数

如何指定Gradle SonarQube插件运行的测试任务

我正在使用带有sonarqube插件的Gradle并使用它来触发它

gradle sonarqube
Run Code Online (Sandbox Code Playgroud)

然而,它正在调用内置的"测试"任务,该任务运行所有类型的测试,包括目前并非全部通过的集成测试.我希望能够指定sonarqube任务使用类似"unitTest"任务的东西而不是运行所有内容的"测试"任务.

团队中的其他人在IDE中运行黄瓜测试也使用测试任务,所以目前当我在主要的"测试"任务中排除黄瓜测试时,他们必须发表评论,排除他们的黄瓜测试开始,这不是理想的.

我使用以下语法包括sonarqube:

plugins {
    id "org.sonarqube" version "2.5"
}
Run Code Online (Sandbox Code Playgroud)

如何让sonarqube任务使用另一个测试任务?

更新:

得到它与下面的代码一起使用,使得子项目首先运行他们的unitTests以生成所需的测试报告数据,然后运行sonarqube任务.

// Removes the dependency on main test task and runs unitTests for test code coverage statistics
tasks['sonarqube'].with {
    dependsOn.clear()
    subprojects.each { dependsOn("${it.name}:unitTests") }
}
Run Code Online (Sandbox Code Playgroud)

dependsOn.clear()清除所有依赖项,所以如果有多个,我可能需要做类似的事情

taskName.enabled=false
Run Code Online (Sandbox Code Playgroud)

除非有更简单的方法,否则在任务完成后重新启用它?我尝试过dependsOn.remove("测试"),但是没有用.

gradle sonarqube

6
推荐指数
1
解决办法
4133
查看次数

标签 统计

gradle ×2

sonarqube ×2

jacoco ×1

java ×1