Author: kiwiwings
Date: Mon Jul 31 22:56:08 2017
New Revision: 1803594

URL: http://svn.apache.org/viewvc?rev=1803594&view=rev
Log:
Job DSL refactorings

Modified:
    poi/trunk/jenkins/create_jobs.groovy

Modified: poi/trunk/jenkins/create_jobs.groovy
URL: 
http://svn.apache.org/viewvc/poi/trunk/jenkins/create_jobs.groovy?rev=1803594&r1=1803593&r2=1803594&view=diff
==============================================================================
--- poi/trunk/jenkins/create_jobs.groovy (original)
+++ poi/trunk/jenkins/create_jobs.groovy Mon Jul 31 22:56:08 2017
@@ -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: 
'[email protected]',
-       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: 
'[email protected]',
+       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: 
'[email protected]',
+       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
        } 
 }
 
-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/jenkinsc
 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) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to