From ad9fa0cd2d6f9d347200a53fa8e3963926abbabc 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 | 145 ++++++++++++++++++++----------------- 1 file changed, 77 insertions(+), 68 deletions(-) diff --git a/jenkins/create_jobs.groovy b/jenkins/create_jobs.groovy index bd2e76660..33bbe230f 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,6 +106,67 @@ def shellEx(def context, String cmd, def poijob) { } } +def defaultDesc = ''' + +

+Apache POI - the Java API for Microsoft Documents +

+

+This is an automatically generated Job Config, do not edit it here! +Instead change the Jenkins Job DSL at https://svn.apache.org/repos/asf/poi/trunk/jenkins, +see https://github.com/jenkinsci/job-dsl-plugin/wiki +for more details about the DSL. +

''' + +def apicheckDesc = ''' +

+Sonar reports - +

+API Check POI +API Check POI-OOXML +API Check POI-Excelant +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 @@ -113,38 +179,7 @@ poijobs.each { poijob -> disabled() } - def defaultDesc = ''' - -

-Apache POI - the Java API for Microsoft Documents -

-

-This is an automatically generated Job Config, do not edit it here! -Instead change the Jenkins Job DSL at https://svn.apache.org/repos/asf/poi/trunk/jenkins, -see https://github.com/jenkinsci/job-dsl-plugin/wiki -for more details about the DSL. -

''' - - description( defaultDesc + -(poijob.apicheck ? -''' -

-Sonar reports - -

-API Check POI -API Check POI-OOXML -API Check POI-Excelant -API Check POI-Scratchpad - -

-''' : -''' -

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

-''')) + 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) {