diff --git a/.travis.yml b/.travis.yml
index 0b2b9427..c15c7007 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,7 +2,6 @@ dist: xenial
language: java
-jdk:
- - openjdk8
+sudo: true
-script: "mvn clean dependency:list test -Dsort -U -B"
+script: "./mvnw -Pjava11 clean dependency:list test -Dsort -U -B"
diff --git a/Jenkinsfile b/Jenkinsfile
index 6a62bb69..a1f7efeb 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -12,7 +12,28 @@ 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 'rm -rf ?'
+ sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw clean dependency:list test -Dsort -U -B'
+ }
+ }
+
+ stage("Test other configurations") {
when {
anyOf {
branch 'master'
@@ -20,10 +41,10 @@ pipeline {
}
}
parallel {
- stage("test: baseline") {
+ stage("test: baseline (jdk11)") {
agent {
docker {
- image 'adoptopenjdk/openjdk8:latest'
+ image 'adoptopenjdk/openjdk11:latest'
label 'data'
args '-v $HOME:/tmp/jenkins-home'
}
@@ -31,11 +52,27 @@ pipeline {
options { timeout(time: 30, unit: 'MINUTES') }
steps {
sh 'rm -rf ?'
- sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw clean dependency:list test -Dsort -U -B'
+ sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pjava11 clean dependency:list test -Dsort -U -B'
+ }
+ }
+
+ stage("test: baseline (jdk12)") {
+ agent {
+ docker {
+ image 'adoptopenjdk/openjdk12:latest'
+ label 'data'
+ args '-v $HOME:/tmp/jenkins-home'
+ }
+ }
+ options { timeout(time: 30, unit: 'MINUTES') }
+ steps {
+ sh 'rm -rf ?'
+ sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pjava11 clean dependency:list test -Dsort -U -B'
}
}
}
}
+
stage('Release to artifactory') {
when {
anyOf {
diff --git a/pom.xml b/pom.xml
index d790d675..7d8a6880 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
+ * This class is here to be loaded before ES's JarHell class and to anyone that wants to survive JarHell, leave it here + * or you will die a slow and painful death. + *
+ * Oh, by the way: If Elasticsearch decides to upgrade JarHell with new method signatures, we should adapt to these.
+ *
+ * @author Mark Paluch
+ */
+public class JarHell {
+
+ private JarHell() {}
+
+ /**
+ * Empty stub. Leave it here or you will die a slow and painful death.
+ *
+ * @param output
+ * @throws IOException
+ * @throws URISyntaxException
+ */
+ public static void checkJarHell(Consumer