diff options
author | Andreas Beeker <kiwiwings@apache.org> | 2017-07-31 22:56:08 +0000 |
---|---|---|
committer | Andreas Beeker <kiwiwings@apache.org> | 2017-07-31 22:56:08 +0000 |
commit | 64725bd8b58dfd26e5dca832890116f1dc536e05 (patch) | |
tree | 56cc2851fe51761f93d6bc94243897b9c754116d /jenkins | |
parent | 1b7630a2e2ab14b5eab1d2085c4a22e1c8632bf0 (diff) | |
download | poi-64725bd8b58dfd26e5dca832890116f1dc536e05.tar.gz poi-64725bd8b58dfd26e5dca832890116f1dc536e05.zip |
Job DSL refactorings
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1803594 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'jenkins')
-rw-r--r-- | jenkins/create_jobs.groovy | 117 |
1 files 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 = ''' <img src="https://poi.apache.org/resources/images/project-logo.jpg" /> <p> Apache POI - the Java API for Microsoft Documents @@ -125,9 +118,7 @@ see <a href="https://github.com/jenkinsci/job-dsl-plugin/wiki">https://github.co for more details about the DSL.</b> </p>''' - description( defaultDesc + -(poijob.apicheck ? -''' +def apicheckDesc = ''' <p> <b><a href="https://builds.apache.org/analysis/dashboard?id=org.apache.poi%3Apoi-parent&did=1" target="_blank">Sonar reports</a></b> - <p> @@ -137,14 +128,58 @@ for more details about the DSL.</b> <b><a href="lastSuccessfulBuild/artifact/build/scratchpad/build/reports/japi.html">API Check POI-Scratchpad</a></b> </p> -''' : ''' + +def sonarDesc = ''' <p> <b><a href="lastSuccessfulBuild/findbugsResult/" target="_blank">Findbugs report of latest build</a></b> - <b><a href="https://builds.apache.org/analysis/dashboard?id=org.apache.poi%3Apoi-parent&did=1" target="_blank">Sonar reports</a></b> - <b><a href="lastSuccessfulBuild/artifact/build/coverage/index.html" target="_blank">Coverage of latest build</a></b> </p> -''')) +''' + +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.</b> 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) { |