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

时间:2017-06-18 06:03:18

标签: sonarqube sonarqube-scan

我有:

  • SonarQube v5.6 + Groovy插件
  • gradle 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
    }
}

项目结构:

  • ROOTDIR
    • 应用
      • APP-后端
      • 应用程序的UI
    • 模块
      • 模块1
      • 模块2
      • 模块3

每当我运行:$ ./gradlew sonarqube会发生什么事情,当它通过不同的模块时,它不会聚合声纳报告。它会抛出最后一个模块扫描并覆盖已存储的任何内容。所以在运行之后,我只得到gradle执行器处理的最后模块的结果。可以做点什么吗?

1 个答案:

答案 0 :(得分:1)

我的价值是通过将声纳立方体应用于根项目来解决这个问题:

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