用摇篮分析声纳

时间:2017-09-14 15:16:26

标签: gradle sonarqube

我们对sonarqube的Java项目工作印象非常深刻,并计划通过分析Android项目进入下一级别。我们有Sonarqube version-5.6.6gradle-2.8。下面是我为android项目build.gradle添加的配置。



 dependencies {
    classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.1"
  }
  
  sonar {
    server {
        url = "http:sonar-url.com"
    }
 }

apply plugin: "sonar"




当我运行gradle sonar

时出现这个问题

Could not find method sonar() for arguments [build_2gg1yf48v6l7ngh099813mf0i$_run_closure1$_closure4@61d34b4] on root project 'project name'.

1 个答案:

答案 0 :(得分:1)

嗨,我很好奇为什么你决定使用过时的插件版本,当你刚刚开始你的gradle实现时。在SonarQube Gradle Plugin Doc,您可以找到如何实际使用它的详细说明。

一般来说,对于新的Gradle版本,您需要:

  • 更改类路径
  • 更改任务
  • 更改配置

例如

dependencies {
    classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.5'
}

apply plugin: 'org.sonarqube'

sonarqube {
  properties {
    property "sonar.host.url", "http://sonarserver.com"
  }
}

然后用:

运行它
gradle sonarqube

附加说明:

  • 你根本不需要将声纳网址放在你的gradle脚本中。您只需在运行gradle任务的目录中使用sonar-project.properties文件即可。在这种情况下,您可以轻松地为不同的跑步者重复使用所有设置。
  • 您可能无法使用property "sonar.host.url", "http://sonarserver.com"设置该属性。在我的项目中,我用System.setProperty("sonar.host.url", "<sonar-url>")扼杀了这个属性。我不知道为什么,但我确信这是有原因的,我想让你知道这一点。