diff --git a/Jenkinsfile b/Jenkinsfile index a790af9cd9e..b84c480d8dd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -58,16 +58,22 @@ pipeline { stage('Maven/Tycho Build & Test') { environment { MAVEN_OPTS = "-Xmx1500m" - // set all Java versions needed by our toolchains.xml - JAVA_HOME_17_X64 = tool(type:'jdk', name:'temurin-jdk17-latest') - JAVA_HOME_21_X64 = tool(type:'jdk', name:'temurin-jdk21-latest') + // Set all Java version that can be discovered/selected by maven-toolchains-plugin + JAVA_17_HOME = tool(type:'jdk', name:'temurin-jdk17-latest') + JAVA_21_HOME = tool(type:'jdk', name:'temurin-jdk21-latest') } steps { xvnc(useXauthority: true) { sh """ + jdkEnvVar='JAVA_${javaVersion()}_HOME' + if [ "${JAVA_HOME}" = "\${JAVA_${javaVersion()}_HOME}" ]; then + # Workaround for https://github.com/apache/maven-toolchains-plugin/pull/148 + # clear the structured variable and require JAVA_HOME instead + export JAVA_${javaVersion()}_HOME='' + jdkEnvVar='JAVA_HOME' + fi ./full-build.sh --tp=${selectedTargetPlatform()} \ - ${javaVersion() == 17 ? '--toolchains releng/toolchains.xml -Pstrict-jdk-17' : ''} \ - ${javaVersion() == 21 ? '-Pstrict-jdk-21' : ''} + -Pstrict-jdk-${javaVersion()} -Dtoolchain.jdk.env=\${jdkEnvVar} """ } }// END steps diff --git a/pom.xml b/pom.xml index 36ddfcec8ad..e03b9dbb51e 100644 --- a/pom.xml +++ b/pom.xml @@ -127,9 +127,10 @@ ISO-8859-1 4.0.13 - 17 - 17 17 + ${maven.compiler.release} + ${maven.compiler.release} + false 3.3.0 @@ -694,35 +695,15 @@ strict-jdk-17 - - - - org.apache.maven.plugins - maven-toolchains-plugin - - - - toolchain - - - - - - - - 17 - - - - - - + + 17 + + [17,18) + + strict-jdk-21 - 21 - - 21 + [21,22) @@ -766,7 +744,7 @@ org.apache.maven.plugins maven-toolchains-plugin - 3.1.0 + 3.2.0 org.apache.maven.plugins @@ -1005,6 +983,17 @@ ${tycho-version} true + + org.apache.maven.plugins + maven-toolchains-plugin + + + + select-jdk-toolchain + + + + org.apache.maven.plugins maven-enforcer-plugin diff --git a/releng/toolchains.xml b/releng/toolchains.xml deleted file mode 100644 index f23efad0afc..00000000000 --- a/releng/toolchains.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - jdk - - JavaSE-17 - 17 - - - ${env.JAVA_HOME_17_X64} - - - - jdk - - JavaSE-21 - 21 - - - ${env.JAVA_HOME_21_X64} - - -