Allow to enable Sonar as part of the Gradle build and add Jenkins DSL job to test it

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1786430 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Dominik Stadler 2017-03-10 20:13:46 +00:00
parent aafdbdfdd7
commit 69b260f538
2 changed files with 26 additions and 5 deletions

View File

@ -21,14 +21,15 @@ buildscript {
dependencies {
classpath 'me.champeau.gradle:japicmp-gradle-plugin:0.1.2'
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2.1"
}
}
/* We cannot add this here as the Sonar-plugin requires Java 8, but
* we want to at least keep Java 7 compatibility for building POI via Gradle for now
plugins {
id "org.sonarqube" version "2.2.1"
}*/
// Only add the plugin for Sonar if enabled as it requires Java 8
if (project.hasProperty('enableSonar')) {
println 'Enabling Sonar support'
apply plugin: "org.sonarqube"
}
// For help converting an Ant build to a Gradle build, see
// https://docs.gradle.org/current/userguide/ant.html

View File

@ -63,6 +63,8 @@ def poijobs = [
],
[ name: 'POI-DSL-SonarQube', jdk: '1.8', trigger: 'H 9 * * *', maven: true, sonar: true
],
[ name: 'POI-DSL-SonarQube-Gradle', jdk: '1.8', trigger: 'H 9 * * *', gradle: true, sonar: true, skipcigame: true
],
]
def svnBase = 'https://svn.apache.org/repos/asf/poi/trunk'
@ -244,6 +246,24 @@ for more details about the DSL.</b>
}
mailer(email, false, false)
}
} else if(poijob.sonar) {
steps {
shell(shellcmds)
gradle {
switches('-PenableSonar')
switches('-PsystemProp.sonar.host.url=$SONAR_HOST_URL')
tasks('sonarqube')
useWrapper(false)
}
}
publishers {
if (!poijob.skipcigame) {
configure { project ->
project / publishers << 'hudson.plugins.cigame.GamePublisher' {}
}
}
mailer(email, false, false)
}
} else {
steps {
shell(shellcmds)