51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1709|回复: 1

多模块Gradle项目配置SonarQube

[复制链接]

该用户从未签到

发表于 2019-3-19 15:24:08 | 显示全部楼层 |阅读模式
1. 配置build.gradle
  1. buildscript{

  2.     repositories {
  3.         maven {url "https://plugins.gradle.org/m2/"}
  4.     }
  5.     dependencies {
  6.         classpath("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6")
  7.     }

  8. }

  9. apply plugin: "org.sonarqube"

  10. sonarqube {
  11.     properties {
  12.         property "sonar.sourceEncoding", "UTF-8"
  13.     }
  14. }

  15. subprojects {

  16.     apply plugin: 'java'
  17.     apply plugin: 'eclipse'
  18.     apply plugin: 'idea'

  19.     sourceCompatibility = 1.8
  20.     targetCompatibility = 1.8

  21.     // 编码改为 UTF-8
  22.     [compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'

  23.     repositories {
  24.         mavenCentral()
  25.         jcenter()
  26.     }

  27.     dependencies {
  28.         //maven仓库中心没有的jar,则放入libs目录下
  29.         compile fileTree(dir: 'libs', include: ['*.jar'])

  30.         // 通用依赖
  31.         compile("org.springframework:spring-aop:${springVersion}")

  32.         // 测试依赖
  33.         testCompile 'junit:junit:4.12'

  34.     }

  35.     sourceSets {
  36.         main {
  37.             java.srcDir('src/main/java')
  38.             resources.srcDir('src/main/resources')
  39.         }
  40.         test {
  41.             java.srcDir('src/test/java')
  42.             resources.srcDir('src/test/resources')
  43.         }
  44.     }

  45. }
复制代码

2. Build Sync

对引入的SonarQube进行可执行分析,可执行状态如下图所示:

若build.gradle配置有误,则执行结果如下图所示:

3. 多模块的SonarQube配置

    1. 共享配置设置

  1. subprojects {
  2.     sonarqube {
  3.         properties {
  4.             property "sonar.sources", "src"
  5.         }
  6.     }
  7. }
复制代码

共享配置设置可以在subprojects 中进行声明

    2.  个别模块配置

    个别模块的特殊配置声明在模块内部的build.gradle中,具体配置如下:

  1. project(":project1") {
  2.     sonarqube {
  3.         properties {
  4.             property "sonar.branch", "Foo"
  5.         }
  6.     }
  7. }
复制代码

3. 分析时跳过特定的模块

    多模块的项目中,如果想忽略某模块,即不分析某模块,可在特定模块内的build.gradle中进行如下配置:

  1. project(":project2") {
  2.     sonarqube {
  3.         skipProject = true
  4.     }
  5. }
复制代码

4. 执行SonarQube分析

    1. 执行命令

  1. gradle sonarqube --info
复制代码

    2. 执行结果




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-19 09:10 , Processed in 0.071896 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表