From 64725bd8b58dfd26e5dca832890116f1dc536e05 Mon Sep 17 00:00:00 2001 From: Andreas Beeker Date: Mon, 31 Jul 2017 22:56:08 +0000 Subject: [PATCH] Job DSL refactorings git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1803594 13f79535-47bb-0310-9956-ffa450edef68 --- jenkins/create_jobs.groovy | 117 ++++++++++++++++++++----------------- 1 file changed, 63 insertions(+), 54 deletions(-) diff --git a/jenkins/create_jobs.groovy b/jenkins/create_jobs.groovy index bd2e766606..33bbe230f5 100644 --- a/jenkins/create_jobs.groovy +++ b/jenkins/create_jobs.groovy @@ -10,11 +10,16 @@ def triggerSundays = ''' H H * * 0 ''' +def findbugsUrl = 'http://downloads.sourceforge.net/project/findbugs/findbugs/2.0.3/findbugs-noUpdateChecks-2.0.3.zip?download=' +def findbugsLib = 'lib/findbugs-noUpdateChecks-2.0.3.zip' +def xercesUrl = 'http://repo1.maven.org/maven2/xerces/xercesImpl/2.6.1/xercesImpl-2.6.1.jar' +def xercesLib = 'compile-lib/xercesImpl-2.6.1.jar' + def poijobs = [ [ name: 'POI-DSL-1.6', // workaround as Sourceforge does not accept any of the SSL ciphers in JDK 6 any more and thus we cannot download this jar // as part of the Ant build - addShell: 'wget -O lib/findbugs-noUpdateChecks-2.0.3.zip http://downloads.sourceforge.net/project/findbugs/findbugs/2.0.3/findbugs-noUpdateChecks-2.0.3.zip?download=' + addShell: "wget -O ${findbugsLib} ${findbugsUrl}" ], [ name: 'POI-DSL-1.8', jdk: '1.8', trigger: 'H */12 * * *' ], @@ -42,12 +47,12 @@ def poijobs = [ disabled: true, skipcigame: true ], [ name: 'POI-DSL-old-Xerces', trigger: triggerSundays, - shell: 'mkdir -p compile-lib && test -f compile-lib/xercesImpl-2.6.1.jar || wget -O compile-lib/xercesImpl-2.6.1.jar http://repo1.maven.org/maven2/xerces/xercesImpl/2.6.1/xercesImpl-2.6.1.jar\n', + shell: "mkdir -p compile-lib && test -f ${xercesLib} || wget -O ${xercesLib} ${xercesUrl}\n", // the property triggers using Xerces as XML Parser and previously showed some exception that can occur - properties: ['-Dadditionaljar=compile-lib/xercesImpl-2.6.1.jar'], + properties: ["-Dadditionaljar=${xercesLib}"], // workaround as Sourceforge does not accept any of the SSL ciphers in JDK 6 any more and thus we cannot download this jar // as part of the Ant build - addShell: 'wget -O lib/findbugs-noUpdateChecks-2.0.3.zip http://downloads.sourceforge.net/project/findbugs/findbugs/2.0.3/findbugs-noUpdateChecks-2.0.3.zip?download=' + addShell: "wget -O ${findbugsLib} ${findbugsUrl}" ], [ name: 'POI-DSL-Maven', trigger: 'H */4 * * *', maven: true ], @@ -66,13 +71,13 @@ 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', - 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' + addShell: "@if not exist ${findbugsLib} powershell -Command wget -Uri \"${findbugsUrl}\" -OutFile ${findbugsLib} -UserAgent [Microsoft.PowerShell.Commands.PSUsergAgent]::Chrome" ], - [ 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.7', jdk: '1.7', trigger: 'H */12 * * *', skipcigame: true, windows: true, slaves: 'Windows', email: 'kiwiwings@apache.org', + addShell: "@if not exist ${findbugsLib} powershell -Command wget -Uri \"${findbugsUrl}\" -OutFile ${findbugsLib} -UserAgent [Microsoft.PowerShell.Commands.PSUsergAgent]::Chrome" ], - [ name: 'POI-DSL-Windows-1.8', jdk: '1.8', 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', + addShell: "@if not exist ${findbugsLib} powershell -Command wget -Uri \"${findbugsUrl}\" -OutFile ${findbugsLib} -UserAgent [Microsoft.PowerShell.Commands.PSUsergAgent]::Chrome" ], ] @@ -101,19 +106,7 @@ def shellEx(def context, String cmd, def poijob) { } } -poijobs.each { poijob -> - def jdkKey = poijob.jdk ?: defaultJdk - def trigger = poijob.trigger ?: defaultTrigger - def email = poijob.email ?: defaultEmail - def slaves = poijob.slaves ?: defaultSlaves + (poijob.slaveAdd ?: '') - def antRT = defaultAnt + (poijob.windows ? ' (Windows)' : '') - - job(poijob.name) { - if (poijob.disabled) { - disabled() - } - - def defaultDesc = ''' +def defaultDesc = '''

Apache POI - the Java API for Microsoft Documents @@ -125,9 +118,7 @@ see https://github.co for more details about the DSL.

''' - description( defaultDesc + -(poijob.apicheck ? -''' +def apicheckDesc = '''

Sonar reports -

@@ -137,14 +128,58 @@ for more details about the DSL. API Check POI-Scratchpad

-''' : ''' + +def sonarDesc = '''

Findbugs report of latest build - Sonar reports - Coverage of latest build

-''')) +''' + +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 + +POIJOBSHELL + +# 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 + +POIJOBSHELL + +:: ignore any error message +exit /b 0''' + +poijobs.each { poijob -> + def jdkKey = poijob.jdk ?: defaultJdk + def trigger = poijob.trigger ?: defaultTrigger + def email = poijob.email ?: defaultEmail + def slaves = poijob.slaves ?: defaultSlaves + (poijob.slaveAdd ?: '') + def antRT = defaultAnt + (poijob.windows ? ' (Windows)' : '') + + job(poijob.name) { + if (poijob.disabled) { + disabled() + } + + description( defaultDesc + (poijob.apicheck ? apicheckDesc : sonarDesc) ) logRotator { numToKeep(5) artifactNumToKeep(1) @@ -180,33 +215,7 @@ for more details about the DSL. scm(trigger) } - 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 + def shellcmds = (poijob.windows ? shellCmdsWin : shellCmdsUnix).replace('POIJOBSHELL', poijob.shell ?: '') // Create steps and publishers depending on the type of Job that is selected if(poijob.maven) { -- 2.39.5