1. 配置build.gradle
- buildscript{
- repositories {
- maven {url "https://plugins.gradle.org/m2/"}
- }
- dependencies {
- classpath("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6")
- }
- }
- apply plugin: "org.sonarqube"
- sonarqube {
- properties {
- property "sonar.sourceEncoding", "UTF-8"
- }
- }
- subprojects {
- apply plugin: 'java'
- apply plugin: 'eclipse'
- apply plugin: 'idea'
- sourceCompatibility = 1.8
- targetCompatibility = 1.8
- // 编码改为 UTF-8
- [compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'
- repositories {
- mavenCentral()
- jcenter()
- }
- dependencies {
- //maven仓库中心没有的jar,则放入libs目录下
- compile fileTree(dir: 'libs', include: ['*.jar'])
- // 通用依赖
- compile("org.springframework:spring-aop:${springVersion}")
- // 测试依赖
- testCompile 'junit:junit:4.12'
- }
- sourceSets {
- main {
- java.srcDir('src/main/java')
- resources.srcDir('src/main/resources')
- }
- test {
- java.srcDir('src/test/java')
- resources.srcDir('src/test/resources')
- }
- }
- }
复制代码2. Build Sync 对引入的SonarQube进行可执行分析,可执行状态如下图所示: 若build.gradle配置有误,则执行结果如下图所示: 3. 多模块的SonarQube配置 1. 共享配置设置 - subprojects {
- sonarqube {
- properties {
- property "sonar.sources", "src"
- }
- }
- }
复制代码共享配置设置可以在subprojects 中进行声明 2. 个别模块配置 个别模块的特殊配置声明在模块内部的build.gradle中,具体配置如下: - project(":project1") {
- sonarqube {
- properties {
- property "sonar.branch", "Foo"
- }
- }
- }
复制代码3. 分析时跳过特定的模块 多模块的项目中,如果想忽略某模块,即不分析某模块,可在特定模块内的build.gradle中进行如下配置: - project(":project2") {
- sonarqube {
- skipProject = true
- }
- }
复制代码4. 执行SonarQube分析 1. 执行命令 2. 执行结果
|