You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2018/05/21 12:07:42 UTC

[maven] 01/01: created a function to run CoreITs and avoid copy/paste

This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch MNG-6364
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 81f77051d9344ebc59de270eab3055a9a27807db
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Mon May 21 14:06:14 2018 +0200

    created a function to run CoreITs and avoid copy/paste
---
 Jenkinsfile | 146 +++++++++++++++---------------------------------------------
 1 file changed, 35 insertions(+), 111 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 6e99928..bc7bd01 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -59,70 +59,27 @@ node(jenkinsEnv.labelForOS(buildOs)) {
     }
 }
 
+def runCoreITs(String os, String version) {
+    node(jenkinsEnv.labelForOS(os)) {
+        stage ("Run ITs ${os} Java ${version}') {
+            String jdkName = jenkinsEnv.jdkFromVersion(os, version)
+            String mvnName = jenkinsEnv.mvnFromVersion(os, buildMvn)
+            String command = "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true"
 
-parallel linuxJava7:{
-        node(jenkinsEnv.labelForOS('linux')) {
-            stage ('Run ITs Linux Java 7') {
-                String jdkName = jenkinsEnv.jdkFromVersion('linux', '7')
-                String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn)
-                dir('test') {
-                    def WORK_DIR=pwd()
-                    checkout tests
-                    sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo"
-                    unstash 'dist'
-                    withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[
-                        junitPublisher(ignoreAttachments: false)
-                    ]) {
-                        sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
-                    }
-                    deleteDir() // clean up after ourselves to reduce disk space
-                }
-            }
-        }
-    },linuxJava8: {
-        node(jenkinsEnv.labelForOS('linux')) {
-            stage ('Run ITs Linux Java 8') {
-                String jdkName = jenkinsEnv.jdkFromVersion('linux', '8')
-                String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn)
-                dir('test') {
-                    def WORK_DIR=pwd()
-                    checkout tests
-                    sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo"
-                    unstash 'dist'
-                    withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[
-                        junitPublisher(ignoreAttachments: false)
-                    ]) {
-                        sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
-                    }
-                    deleteDir() // clean up after ourselves to reduce disk space
-                }
-            }
-        }
-    },linuxJava9: {
-        node(jenkinsEnv.labelForOS('linux')) {
-            stage ('Linux Java 9') {
-                String jdkName = jenkinsEnv.jdkFromVersion('linux', '9')
-                String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn)
-                dir('test') {
-                    def WORK_DIR=pwd()
-                    checkout tests
-                    sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo"
-                    unstash 'dist'
-                    withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[
-                        junitPublisher(ignoreAttachments: false)
-                    ]) {
-                        sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
-                    }
-                    deleteDir() // clean up after ourselves to reduce disk space
-                }
-            }
-        }
-    }, winJava7: {
-        node(jenkinsEnv.labelForOS('windows')) {
-            stage ('Run ITs Windows Java 7') {
-                String jdkName = jenkinsEnv.jdkFromVersion('windows', '7')
-                String mvnName = jenkinsEnv.mvnFromVersion('windows', buildMvn)
-
+            if ( os != 'windows' ) {
+	            dir('test') {
+	                def WORK_DIR=pwd()
+	                checkout tests
+	                sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo"
+	                unstash 'dist'
+	                withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[
+	                    junitPublisher(ignoreAttachments: false)
+	                ]) {
+	                    sh "${command} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
+	                }
+	                deleteDir() // clean up after ourselves to reduce disk space
+	            }
+	        } else {
                 // need a short path or we hit 256 character limit for paths
                 // using EXECUTOR_NUMBER guarantees that concurrent builds on same agent
                 // will not trample each other
@@ -135,60 +92,27 @@ parallel linuxJava7:{
                     withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[
                         junitPublisher(ignoreAttachments: false)
                     ]) {
-                        bat "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
+                        bat "${command} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
                     }
                     deleteDir() // clean up after ourselves to reduce disk space
                 }
-            }
+	        }
         }
-    }, winJava8: {
-        node(jenkinsEnv.labelForOS('windows')) {
-            stage ('Run ITs Windows Java 8') {
-                String jdkName = jenkinsEnv.jdkFromVersion('windows', '8')
-                String mvnName = jenkinsEnv.mvnFromVersion('windows', buildMvn)
+    }
+}
 
-                // need a short path or we hit 256 character limit for paths
-                // using EXECUTOR_NUMBER guarantees that concurrent builds on same agent
-                // will not trample each other
-                dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") {
-                    def WORK_DIR=pwd()
-                    checkout tests
-                    bat "if exist it-local-repo rmdir /s /q it-local-repo"
-                    bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip"
-                    unstash 'dist'
-                    withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[
-                        junitPublisher(ignoreAttachments: false)
-                    ]) {
-                        bat "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
-                    }
-                    deleteDir() // clean up after ourselves to reduce disk space
-                }
-            }
-        }
+parallel linuxJava7:{
+        runCoreITs('linux', '7')
+    },linuxJava8: {
+        runCoreITs('linux', '8')
+    },linuxJava9: {
+        runCoreITs('linux', '9')
+    }, winJava7: {
+        runCoreITs('windows', '7')
+    }, winJava8: {
+        runCoreITs('windows', '8')
     }, winJava9: {
-        node(jenkinsEnv.labelForOS('windows')) {
-            stage ('Windows Java 9') {
-                String jdkName = jenkinsEnv.jdkFromVersion('windows', '9')
-                String mvnName = jenkinsEnv.mvnFromVersion('windows', buildMvn)
-
-                // need a short path or we hit 256 character limit for paths
-                // using EXECUTOR_NUMBER guarantees that concurrent builds on same agent
-                // will not trample each other
-                dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") {
-                    def WORK_DIR=pwd()
-                    checkout tests
-                    bat "if exist it-local-repo rmdir /s /q it-local-repo"
-                    bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip"
-                    unstash 'dist'
-                    withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[
-                        junitPublisher(ignoreAttachments: false)
-                    ]) {
-                        bat "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip"
-                    }
-                    deleteDir() // clean up after ourselves to reduce disk space
-                }
-            }
-        }
+        runCoreITs('windows', '9')
     }
 
 // JENKINS-34376 seems to make it hard to detect the aborted builds

-- 
To stop receiving notification emails like this one, please contact
hboutemy@apache.org.