diff --git a/Jenkinsfile b/Jenkinsfile index e89df576..7365b164 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -12,29 +12,70 @@ pipeline { } stages { - stage("Test") { + stage("test: baseline (jdk8)") { when { anyOf { branch 'master' not { triggeredBy 'UpstreamCause' } } } + agent { + docker { + image 'adoptopenjdk/openjdk8:latest' + label 'data' + args '-v $HOME:/tmp/jenkins-home' + } + } + options { timeout(time: 30, unit: 'MINUTES') } + steps { + sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw clean dependency:list verify -Dsort -B' + } + } + + stage("Test other configurations") { parallel { - stage("test: baseline") { + stage("test: baseline (jdk11)") { + when { + anyOf { + branch 'master' + not { triggeredBy 'UpstreamCause' } + } + } agent { docker { - image 'adoptopenjdk/openjdk8:latest' + image 'adoptopenjdk/openjdk11:latest' label 'data' args '-v $HOME:/tmp/jenkins-home' } } options { timeout(time: 30, unit: 'MINUTES') } steps { - sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw clean dependency:list verify -Dsort -B' + sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pjava11 clean dependency:list verify -Dsort -B' + } + } + + stage("test: baseline (jdk13)") { + when { + anyOf { + branch 'master' + not { triggeredBy 'UpstreamCause' } + } + } + agent { + docker { + image 'adoptopenjdk/openjdk13:latest' + label 'data' + args '-v $HOME:/tmp/jenkins-home' + } + } + options { timeout(time: 30, unit: 'MINUTES') } + steps { + sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pjava11 clean dependency:list verify -Dsort -B' } } } } + stage('Build project & BOM then release to artifactory') { when { anyOf { diff --git a/parent/pom.xml b/parent/pom.xml index 568196c9..67cbd87b 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -228,6 +228,39 @@ + + + java11 + + + 2.2.11 + 1.1.1 + + + + + javax.xml.bind + jaxb-api + ${jaxb.version} + provided + + + + javax.activation + activation + ${java-activation.version} + provided + + + + javax.annotation + javax.annotation-api + ${javax-annotation-api} + provided + + + +