From 1b7630a2e2ab14b5eab1d2085c4a22e1c8632bf0 Mon Sep 17 00:00:00 2001 From: Andreas Beeker Date: Mon, 31 Jul 2017 18:21:48 +0000 Subject: [PATCH] Job DSL fix windows call / retrieve findbugs via powershell git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1803559 13f79535-47bb-0310-9956-ffa450edef68 --- jenkins/create_jobs.groovy | 69 ++++++++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 21 deletions(-) diff --git a/jenkins/create_jobs.groovy b/jenkins/create_jobs.groovy index 8ea7f38d88..bd2e766606 100644 --- a/jenkins/create_jobs.groovy +++ b/jenkins/create_jobs.groovy @@ -65,11 +65,14 @@ def poijobs = [ ], [ name: 'POI-DSL-SonarQube-Gradle', jdk: '1.8', trigger: 'H 9 * * *', gradle: true, sonar: true, skipcigame: true ], - [ name: 'POI-DSL-Windows-1.6', jdk: '1.6', trigger: 'H */12 * * *', skipcigame: true, windows: true, slaves: 'Windows', email: 'kiwiwings@apache.org' + [ name: 'POI-DSL-Windows-1.6', jdk: '1.6', trigger: 'H */12 * * *', skipcigame: true, windows: true, slaves: 'Windows', email: 'kiwiwings@apache.org', + addShell: 'if not exist lib/findbugs-noUpdateChecks-2.0.3.zip powershell -Command wget -Uri "http://downloads.sourceforge.net/project/findbugs/findbugs/2.0.3/findbugs-noUpdateChecks-2.0.3.zip?download=" -OutFile lib/findbugs-noUpdateChecks-2.0.3.zip -UserAgent [Microsoft.PowerShell.Commands.PSUsergAgent]::Chrome' ], - [ name: 'POI-DSL-Windows-1.7', jdk: '1.7', trigger: 'H */12 * * *', skipcigame: true, windows: true, slaves: 'Windows', email: 'kiwiwings@apache.org' + [ name: 'POI-DSL-Windows-1.7', jdk: '1.7', trigger: 'H */12 * * *', skipcigame: true, windows: true, slaves: 'Windows', + disabled: true ], - [ name: 'POI-DSL-Windows-1.8', jdk: '1.8', trigger: 'H */12 * * *', skipcigame: true, windows: true, slaves: 'Windows', email: 'kiwiwings@apache.org' + [ name: 'POI-DSL-Windows-1.8', jdk: '1.8', trigger: 'H */12 * * *', skipcigame: true, windows: true, slaves: 'Windows', + disabled: true ], ] @@ -90,6 +93,14 @@ def jdkMapping = [ 'IBMJDK': 'IBM 1.8 64-bit (on Ubuntu only)', ] +def shellEx(def context, String cmd, def poijob) { + if (poijob.windows) { + context.batchFile(cmd) + } else { + context.shell(cmd) + } +} + poijobs.each { poijob -> def jdkKey = poijob.jdk ?: defaultJdk def trigger = poijob.trigger ?: defaultTrigger @@ -169,22 +180,38 @@ for more details about the DSL. scm(trigger) } - def shellcmds = '# show which files are currently modified in the working copy\n' + - 'svn status\n' + - '\n' + - '# print out information about which exact version of java we are using\n' + - 'echo Java-Home: $JAVA_HOME\n' + - 'ls -al $JAVA_HOME/\n' + - '$JAVA_HOME/bin/java -version\n' + - '\n' + - (poijob.shell ?: '') + '\n' + - '# ignore any error message\n' + - 'exit 0\n' + def shellCmdsUnix = +'''# show which files are currently modified in the working copy +svn status + +# print out information about which exact version of java we are using +echo Java-Home: $JAVA_HOME +ls -al $JAVA_HOME/ +$JAVA_HOME/bin/java -version +'''+(poijob.shell ?: '')+ +'''# ignore any error message +exit 0''' + + def shellCmdsWin = +'''@echo off +:: show which files are currently modified in the working copy +svn status + +:: print out information about which exact version of java we are using +echo Java-Home: %JAVA_HOME% +dir "%JAVA_HOME%" +"%JAVA_HOME%/bin/java" -version +'''+(poijob.shell ?: '')+ +''' +:: ignore any error message +exit 0''' + + def shellcmds = (poijob.windows) ? shellCmdsWin : shellCmdsUnix // Create steps and publishers depending on the type of Job that is selected if(poijob.maven) { steps { - shell(shellcmds) + shellEx(delegate, shellcmds, poijob) maven { goals('clean') rootPOM('sonar/pom.xml') @@ -220,7 +247,7 @@ for more details about the DSL. } } else if (poijob.javadoc) { steps { - shell(shellcmds) + shellEx(delegate, shellcmds, poijob) ant { targets(['clean', 'javadocs'] + (poijob.properties ?: [])) prop('coverage.enabled', true) @@ -228,7 +255,7 @@ for more details about the DSL. //properties(poijob.properties ?: '') antInstallation(antRT) } - shell('zip -r build/javadocs.zip build/tmp/site/build/site/apidocs') + shellEx(delegate, 'zip -r build/javadocs.zip build/tmp/site/build/site/apidocs', poijob) } publishers { if (!poijob.skipcigame) { @@ -240,7 +267,7 @@ for more details about the DSL. } } else if (poijob.apicheck) { steps { - shell(shellcmds) + shellEx(delegate, shellcmds, poijob) gradle { tasks('japicmp') useWrapper(false) @@ -257,7 +284,7 @@ for more details about the DSL. } } else if(poijob.sonar) { steps { - shell(shellcmds) + shellEx(delegate, shellcmds, poijob) gradle { switches('-PenableSonar') switches('-Dsonar.host.url=$SONAR_HOST_URL') @@ -275,9 +302,9 @@ for more details about the DSL. } } else { steps { - shell(shellcmds) + shellEx(delegate, shellcmds, poijob) if(poijob.addShell) { - shell(poijob.addShell) + shellEx(delegate, poijob.addShell, poijob) } // For Jobs that should still have the default set of publishers we can configure different steps here if(poijob.gradle) { -- 2.39.5