@@ -9,7 +9,7 @@ pipeline {
99 }
1010
1111 tools {
12- jdk ' temurin-jdk17 -latest'
12+ jdk ' temurin-jdk21 -latest'
1313 }
1414
1515 stages {
@@ -26,20 +26,49 @@ pipeline {
2626 }
2727 }
2828
29+ stage(' Setup Maven Toolchains' ) {
30+ steps {
31+ script { try {
32+ def jdk17 = tool name : ' temurin-jdk17-latest' , type : ' jdk'
33+
34+ // Generate toolchains.xml for Maven Toolchains plugin
35+ writeFile file : " /tmp/toolchains.xml" , text : """
36+ <toolchains>
37+ <toolchain>
38+ <type>jdk</type>
39+ <provides>
40+ <version>17</version>
41+ <vendor>temurin</vendor>
42+ </provides>
43+ <configuration>
44+ <jdkHome>${ jdk17} </jdkHome>
45+ </configuration>
46+ </toolchain>
47+ </toolchains>
48+ """ . trim()
49+ } catch (e) {
50+ echo " Failed to setup toolchains: ${ e} "
51+ error(" Toolchain setup failed." )
52+ } }
53+ }
54+ }
55+
2956 stage(' Build' ) {
3057 steps {
3158 wrap([$class : ' Xvnc' , useXauthority : true ]) {
3259 script {
3360 if (env. BRANCH_NAME == ' main' ) {
3461 withCredentials([string(credentialsId : ' gpg-passphrase' , variable : ' KEYRING_PASSPHRASE' )]) {
3562 sh ''' ./mvnw clean deploy -B \
63+ -t /tmp/toolchains.xml \
3664 -Dmaven.test.failure.ignore=true \
3765 -Dsurefire.rerunFailingTestsCount=3 \
3866 -Psign -Dgpg.passphrase="${KEYRING_PASSPHRASE}"
3967 '''
4068 }
4169 } else {
4270 sh ''' ./mvnw clean verify -B \
71+ -t /tmp/toolchains.xml \
4372 -Dmaven.test.failure.ignore=true \
4473 -Dsurefire.rerunFailingTestsCount=3
4574 '''
0 commit comments