summaryrefslogtreecommitdiffstats
path: root/jenkins
diff options
context:
space:
mode:
authorAndreas Beeker <kiwiwings@apache.org>2017-07-31 22:56:08 +0000
committerAndreas Beeker <kiwiwings@apache.org>2017-07-31 22:56:08 +0000
commit64725bd8b58dfd26e5dca832890116f1dc536e05 (patch)
tree56cc2851fe51761f93d6bc94243897b9c754116d /jenkins
parent1b7630a2e2ab14b5eab1d2085c4a22e1c8632bf0 (diff)
downloadpoi-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.groovy117
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) {