Gradle中配置使用sonar进行代码分析

引入sonar仓库地址以及依赖包

  • maven { url "https://plugins.gradle.org/m2/" }
  • classpath ("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.3")
  • 因为是多模块的 所以放在了最外层build.gradle

build.gradle

buildscript {
    repositories {
        maven { url "https://plugins.gradle.org/m2/"}
    }
    dependencies {
        classpath ("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.3")
    }
}

sonarqube

  • 在build.gradle 中加入 sonarqube
  • 因为要在所有的项目中使用所以加在了 subprojects
subprojects{
    sonarqube{
        properties{
            property "sonar.host.url", "http://test.com"
        }
    }
 }

完整的build.gradle示例

buildscript {
    repositories {
        maven { url "https://plugins.gradle.org/m2/"}
    }

    dependencies {
        classpath ("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.3")
    }
}
apply plugin: 'org.sonarqube'

allprojects {
    apply plugin: 'idea'
    group = 'com.demo'
    version = '0.0.1-SNAPSHOT'
}

subprojects {
    apply plugin: 'java'
    sourceCompatibility = 1.8
    targetCompatibility = 1.8

    sourceSets {
        main {
            java.srcDir('src/main/java')
            resources.srcDir('src/main/resources')
        }
        test {
            java.srcDir('src/test/java')
            resources.srcDir('src/test/resources')
        }
    }
    sonarqube{
        properties{
            property "sonar.host.url", "http://test.com"
        }
    }
    task wrapper(type: Wrapper) {
        gradleVersion = '3.3'
    }
}

测试

gradle sonarqube -x test

results matching ""

    No results matching ""