From: Dominik Stadler Date: Fri, 10 Mar 2017 20:13:46 +0000 (+0000) Subject: Allow to enable Sonar as part of the Gradle build and add Jenkins DSL job to test it X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=69b260f53850e954bfa92796bdef31cc0a2ab5fb;p=poi.git 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 --- diff --git a/build.gradle b/build.gradle index 3f73826b5f..fbcd6c628d 100644 --- a/build.gradle +++ b/build.gradle @@ -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 diff --git a/jenkins/create_jobs.groovy b/jenkins/create_jobs.groovy index c18fd7e387..c52c1c5d0d 100644 --- a/jenkins/create_jobs.groovy +++ b/jenkins/create_jobs.groovy @@ -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. } 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)