blob: 6cc32371d17dd73522681478a3fce66f6330ad23 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
try {
node('ubuntu') {
def JAVA_JDK_14=tool name: 'jdk_14_latest', type: 'hudson.model.JDK'
echo "Testing with Java $JAVA_JDK_14"
def JAVA_JDK_13=tool name: 'jdk_13_latest', type: 'hudson.model.JDK'
echo "Testing with Java $JAVA_JDK_13"
def JAVA_JDK_12=tool name: 'jdk_12_latest', type: 'hudson.model.JDK'
echo "Testing with Java $JAVA_JDK_12"
def JAVA_JDK_11=tool name: 'jdk_11_latest', type: 'hudson.model.JDK'
echo "Testing with Java $JAVA_JDK_11"
def JAVA_JDK_9=tool name: 'jdk_1.9_latest', type: 'hudson.model.JDK'
echo "Testing with Java $JAVA_JDK_9"
def JAVA_JDK_8=tool name: 'jdk_1.8_latest', type: 'hudson.model.JDK'
echo "Testing with Java $JAVA_JDK_8"
def JAVA_JDK_7=tool name: 'jdk_1.7_latest', type: 'hudson.model.JDK'
echo "Testing with Java $JAVA_JDK_7"
def JAVA_JDK_6=tool name: 'jdk_1.6_latest', type: 'hudson.model.JDK'
echo "Testing with Java $JAVA_JDK_6"
def MAVEN_3_LATEST=tool name: 'maven_3_latest', type: 'hudson.tasks.Maven$MavenInstallation'
echo "Testing with Maven $MAVEN_3_LATEST"
def MAVEN_2_LATEST=tool name: 'maven_2_latest', type: 'hudson.tasks.Maven$MavenInstallation'
echo "Testing with Maven $MAVEN_2_LATEST"
def ANT_LATEST=tool name: 'ant_latest', type: 'hudson.tasks.Ant$AntInstallation'
echo "Testing with Ant $ANT_LATEST"
stage('JAVA 14 (Latest) on Ubuntu'){
withEnv(["Path+JDK=$JAVA_JDK_14/bin","JAVA_HOME=$JAVA_JDK_14"]) {
sh "java -version"
sh "javac -version"
}
} //end stage JAVA 14
stage('JAVA 13 (Latest) on Ubuntu'){
withEnv(["Path+JDK=$JAVA_JDK_13/bin","JAVA_HOME=$JAVA_JDK_13"]) {
sh "java -version"
sh "javac -version"
}
} //end stage JAVA 13
stage('JAVA 12 (Latest) on Ubuntu'){
withEnv(["Path+JDK=$JAVA_JDK_12/bin","JAVA_HOME=$JAVA_JDK_12"]) {
sh "java -version"
sh "javac -version"
}
} //end stage JAVA 12
stage('JAVA 11 (Latest) on Ubuntu'){
withEnv(["Path+JDK=$JAVA_JDK_11/bin","JAVA_HOME=$JAVA_JDK_11"]) {
sh "java -version"
sh "javac -version"
}
} //end stage JAVA 11
stage('JAVA 1.9 (Latest) on Ubuntu'){
withEnv(["Path+JDK=$JAVA_JDK_9/bin","JAVA_HOME=$JAVA_JDK_9"]) {
sh "java -version"
sh "javac -version"
}
} //end stage JAVA 1.9
stage('JAVA 1.8 (Latest) on Ubuntu'){
withEnv(["Path+JDK=$JAVA_JDK_8/bin","JAVA_HOME=$JAVA_JDK_8"]) {
sh "java -version"
sh "javac -version"
}
} //end stage JAVA 1.8
stage('JAVA 1.7 (Latest) on Ubuntu'){
withEnv(["Path+JDK=$JAVA_JDK_7/bin","JAVA_HOME=$JAVA_JDK_7"]) {
sh "java -version"
sh "javac -version"
}
} //end stage JAVA 1.7
stage('JAVA 1.6 (Latest) on Ubuntu'){
withEnv(["Path+JDK=$JAVA_JDK_6/bin","JAVA_HOME=$JAVA_JDK_6"]) {
sh "java -version"
sh "javac -version"
}
} //end stage JAVA 1.6
stage('MAVEN 3 (Latest) on Ubuntu'){
withEnv(["Path+JDK=$JAVA_JDK_8/bin","Path+MAVEN=$MAVEN_3_LATEST/bin","JAVA_HOME=$JAVA_JDK_8"]) {
sh "mvn -version"
}
} //end stage MAVEN 3
stage('MAVEN 2 (Latest) on Ubuntu'){
withEnv(["Path+JDK=$JAVA_JDK_8/bin","Path+MAVEN=$MAVEN_2_LATEST/bin","JAVA_HOME=$JAVA_JDK_8"]) {
sh "mvn -version"
}
} //end stage MAVEN 2
stage('Ant (Latest) on Ubuntu'){
withEnv(["Path+JDK=$JAVA_JDK_8/bin","Path+MAVEN=$MAVEN_3_LATEST/bin",
"Path+ANT=$ANT_LATEST/bin","JAVA_HOME=$JAVA_JDK_8","ANT_HOME=$ANT_LATEST"]) {
sh "ant -version"
}
} //end stage ANT
} // end node ubuntu
} // end try
catch (e) {
echo 'Something went wrong'
throw e
} // end catch
finally {
node('ubuntu') {
emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class: 'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'], [$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo: 'users@infra.apache.org', subject: "${env.JOB_NAME} - build ${env.BUILD_DISPLAY_NAME} - ${currentBuild.result}", to: 'gmcdonald@apache.org'
}
}