我试图针对Gradle项目配置 Sonarqube 。该项目下有许多子项目。根项目的build.gradle
中的相关配置如下:
sonarqube {
properties {
property 'sonar.jdbc.url', ''
property 'sonar.host.url', 'http://localhost'
property 'sonar.jdbc.driver', 'oracle.jdbc.driver.OracleDriver'
property 'sonar.jdbc.username', 'sonar'
property 'sonar.jdbc.password', 'sonar'
property 'sonar.projectName', 'ABC'
property "sonar.exclusions", "src/test/**"
property 'sonar.skippedModules', '1024m'
}
}
sonarqube {
properties {
property "sonar.sources", "src"
property "sonar.tests", "src/test"
}
}
在root project's build.gradle
我有:
dependencies {
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2"
}
allprojects {
apply plugin: 'java'
if( rootProject == project ) {
//Add sonar plugin to only root projects not subprojects.
apply plugin: 'org.sonarqube'
}
}
构建时,Gradle会出错:
Invalid value of sonar.libraries for : Component1
09-Nov-2016 13:00:56 :sonarqube FAILED
09-Nov-2016 13:00:56
09-Nov-2016 13:00:56 FAILURE: Build failed with an exception.
09-Nov-2016 13:00:56
09-Nov-2016 13:00:56 * What went wrong:
09-Nov-2016 13:00:56 Execution failed for task ':sonarqube'.
09-Nov-2016 13:00:56 > No files nor directories matching '[/opt/gradle_repo/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar' in directory /opt/gradle_repo/caches
走了 http://sonarqube-archive.15.x6.nabble.com/Sonar-Eclipse-Plugin-Local-Analysis-Error-td5009991.html 但无法让它发挥作用。
答案 0 :(得分:4)
我遇到了同样的问题,只是通过降级到Sonarqube Gradle插件版本 2.1 才能实现。
2.2插件版本确实存在一个错误,错误地将属性'sonar.libraries'设置为单个值,将'['和']'字符留在后面,导致如堆栈跟踪中所见,解析lib目录的问题。
您可以在此处关注此问题:https://github.com/SonarSource/sonar-scanner-gradle/pull/20
更新:版本2.2.1已发布并修复了此问题。