SonarQube-java/groovy多模块项目扫描

SonarQube-java/groovy多模块项目扫描,sonarqube,sonarqube-scan,Sonarqube,Sonarqube Scan,我有: SonarQube v5.6+Groovy插件 梯度3.5 org.sonarsource.scanner.gradle:sonarqube-gradle插件:2.5 配置: def sourceProjects = allprojects.findAll { it.file('src/main').exists() } configure(sourceProjects) { apply plugin: 'java' apply plugin: 'groovy'

我有:

  • SonarQube v5.6+Groovy插件
  • 梯度3.5
  • org.sonarsource.scanner.gradle:sonarqube-gradle插件:2.5
配置:

def sourceProjects = allprojects.findAll { it.file('src/main').exists() }
configure(sourceProjects) {
    apply plugin: 'java'
    apply plugin: 'groovy'
    apply plugin: "org.sonarqube"

    sourceSets.main.java.srcDirs = []
    sourceSets.main.groovy.srcDirs = ['src/main/java', 'src/main/groovy']

    sourceCompatibility = 1.8

    repositories {
        mavenCentral()
        jcenter()
    }

    dependencies {
        compile lib.groovy_core
    }
}
项目结构:

  • 根目录
    • 应用程序
      • 应用程序后端
      • 应用程序界面
    • 模块
      • 单元1
      • 单元2
      • 单元3

每当我运行:
$./gradlew sonarqube
时,当它通过不同的模块时,它不会聚合sonar报告。它将抛出最后一次模块扫描,并覆盖已存储的任何内容。所以在运行这个之后,我只得到gradle executor处理的最后一个模块的结果。对此可以做些什么吗?

我通过仅将sonar cube应用于根项目解决了这个问题:

project(':') {
    apply plugin: 'org.sonarqube'
}