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 { dependencies {
classpath 'me.champeau.gradle:japicmp-gradle-plugin:0.1.2' 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 // Only add the plugin for Sonar if enabled as it requires Java 8
* we want to at least keep Java 7 compatibility for building POI via Gradle for now if (project.hasProperty('enableSonar')) {
plugins { println 'Enabling Sonar support'
id "org.sonarqube" version "2.2.1" apply plugin: "org.sonarqube"
}*/ }
// For help converting an Ant build to a Gradle build, see // For help converting an Ant build to a Gradle build, see
// https://docs.gradle.org/current/userguide/ant.html // 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', 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' 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) 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 { } else {
steps { steps {
shell(shellcmds) shell(shellcmds)