多模块Gradle项目配置SonarQube
1. 配置build.gradlebuildscript{
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
*.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. 执行命令gradle sonarqube --info 2. 执行结果
支持分享
页:
[1]