Add sonar integration.
This commit configures the SonarRunner plugin so that SonarQube can be used against the project. A few customizations were applied to namely exclude the asm and cglib repackaged classes. Issue: SPR-10766
This commit is contained in:
parent
7c57424b48
commit
e2aba3d317
58
build.gradle
58
build.gradle
|
@ -10,6 +10,15 @@ buildscript {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ext {
|
||||||
|
linkHomepage = 'https://projects.spring.io/spring-framework'
|
||||||
|
linkCi = 'https://build.spring.io/browse/SPR'
|
||||||
|
linkIssue = 'https://jira.spring.io/browse/SPR'
|
||||||
|
linkScmUrl = 'https://github.com/spring-projects/spring-framework'
|
||||||
|
linkScmConnection = 'scm:git:git://github.com/spring-projects/spring-framework.git'
|
||||||
|
linkScmDevConnection = 'scm:git:ssh://git@github.com:spring-projects/spring-framwork.git'
|
||||||
|
}
|
||||||
|
|
||||||
configure(allprojects) { project ->
|
configure(allprojects) { project ->
|
||||||
group = "org.springframework"
|
group = "org.springframework"
|
||||||
version = qualifyVersionIfNecessary(version)
|
version = qualifyVersionIfNecessary(version)
|
||||||
|
@ -174,6 +183,20 @@ configure(subprojects - project(":spring-build-src")) { subproject ->
|
||||||
apply plugin: "merge"
|
apply plugin: "merge"
|
||||||
apply from: "${gradleScriptDir}/publish-maven.gradle"
|
apply from: "${gradleScriptDir}/publish-maven.gradle"
|
||||||
|
|
||||||
|
configurations {
|
||||||
|
jacoco
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
jacoco("org.jacoco:org.jacoco.agent:0.7.1.201405082137:runtime")
|
||||||
|
}
|
||||||
|
|
||||||
|
gradle.taskGraph.whenReady {taskGraph ->
|
||||||
|
if (taskGraph.hasTask(':sonarRunner')) {
|
||||||
|
test.jvmArgs "-javaagent:${configurations.jacoco.asPath}=destfile=${buildDir}/jacoco.exec,includes=org.springframework.*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
manifest.attributes["Created-By"] =
|
manifest.attributes["Created-By"] =
|
||||||
"${System.getProperty("java.version")} (${System.getProperty("java.specification.vendor")})"
|
"${System.getProperty("java.version")} (${System.getProperty("java.specification.vendor")})"
|
||||||
|
@ -436,10 +459,6 @@ project("spring-context") {
|
||||||
|
|
||||||
// pick up RmiInvocationWrapperRTD.xml in src/main
|
// pick up RmiInvocationWrapperRTD.xml in src/main
|
||||||
sourceSets.main.resources.srcDirs += "src/main/java"
|
sourceSets.main.resources.srcDirs += "src/main/java"
|
||||||
|
|
||||||
test {
|
|
||||||
jvmArgs = ["-disableassertions:org.aspectj.weaver.UnresolvedType"] // SPR-7989
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
project("spring-messaging") {
|
project("spring-messaging") {
|
||||||
|
@ -1042,6 +1061,22 @@ project("spring-framework-bom") {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
apply plugin: 'sonar-runner'
|
||||||
|
|
||||||
|
sonarRunner {
|
||||||
|
sonarProperties {
|
||||||
|
property "sonar.projectName", "Spring Framework"
|
||||||
|
property "sonar.profile", "Spring Framework"
|
||||||
|
property "sonar.jacoco.reportPath", "${buildDir.name}/jacoco.exec"
|
||||||
|
property "sonar.links.homepage", linkHomepage
|
||||||
|
property "sonar.links.ci", linkCi
|
||||||
|
property "sonar.links.issue", linkIssue
|
||||||
|
property "sonar.links.scm", linkScmUrl
|
||||||
|
property "sonar.links.scm_dev", linkScmDevConnection
|
||||||
|
property "sonar.java.coveragePlugin", "jacoco"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
configure(rootProject) {
|
configure(rootProject) {
|
||||||
description = "Spring Framework"
|
description = "Spring Framework"
|
||||||
|
|
||||||
|
@ -1287,6 +1322,21 @@ configure(rootProject) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
configure([project(':spring-build-src'), project(':spring-framework-bom')]) {
|
||||||
|
sonarRunner {
|
||||||
|
skipProject = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
configure(project(':spring-core')) {
|
||||||
|
sonarRunner {
|
||||||
|
sonarProperties {
|
||||||
|
property "sonar.exclusions",
|
||||||
|
"src/main/java/org/springframework/cglib/**/*,src/main/java/org/springframework/asm/**/*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Support publication of artifacts versioned by topic branch.
|
* Support publication of artifacts versioned by topic branch.
|
||||||
* CI builds supply `-P BRANCH_NAME=<TOPIC>` to gradle at build time.
|
* CI builds supply `-P BRANCH_NAME=<TOPIC>` to gradle at build time.
|
||||||
|
|
Loading…
Reference in New Issue