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

准备工作

  • 项目中gradle版本为3.3, sonar 使用5.6.6
  • 项目为springboot项目

引入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://localhost:9000/"
            property "sonar.jdbc.url", "jdbc:mysql://my.server.com/sonar"
            property "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver"
            property "sonar.jdbc.username", "sonar"
            property "sonar.jdbc.password", "sonar"
        }
    }
 }

apply plugin##

  • apply plugin: ‘org.sonarqube’

完整的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.bootcwenao'
    version = '0.1.0-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://localhost:9000/"
            property "sonar.jdbc.url", "jdbc:mysql://my.server.com/sonar"
            property "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver"
            property "sonar.jdbc.username", "sonar"
            property "sonar.jdbc.password", "sonar"
        }
    }
    task wrapper(type: Wrapper) {
        gradleVersion = '3.3'
    }
}

启动sonar

  • StartSonar.bat

测试

  • gradle sonarqube -x test

如有疑问请加公众号(K171),如果觉得对您有帮助请 github start

《Gradle中配置使用sonar进行代码分析》 公众号_k171

    原文作者:代码行间的无聊生活
    原文地址: https://www.jianshu.com/p/ee7e145d8124
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞