-
Notifications
You must be signed in to change notification settings - Fork 76
Expand file tree
/
Copy pathtoolchains.xml.template
More file actions
163 lines (141 loc) · 5.06 KB
/
Copy pathtoolchains.xml.template
File metadata and controls
163 lines (141 loc) · 5.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<?xml version="1.0" encoding="UTF-8"?>
<!--
Maven Toolchains Configuration Template for wildfly-openssl
This file provides a template for configuring Maven toolchains to enable
multi-version testing with different JDK versions and distributions.
SETUP INSTRUCTIONS:
1. Copy this file to ~/.m2/toolchains.xml (user-level, recommended)
OR to ${maven.home}/conf/toolchains.xml (Maven installation-level)
2. Update the <jdkHome> paths to match your JDK installations
- Linux: /usr/lib/jvm/temurin-25-jdk or /opt/jdk/temurin-25
- macOS: /Library/Java/JavaVirtualMachines/temurin-25.jdk/Contents/Home
- Windows: C:\Program Files\Eclipse Adoptium\jdk-25.0.0.0-hotspot
3. Verify configuration: mvn toolchains:display-toolchains
AUTOMATED SETUP WITH SDKMAN! (Linux/macOS):
# Install SDKMAN! (if not already installed)
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
# Install required JDKs
sdk install java 17.0.13-tem # Java 17 Temurin
sdk install java 17.0.13-sem # Java 17 Semeru
sdk install java 21.0.5-tem # Java 21 Temurin
sdk install java 21.0.5-sem # Java 21 Semeru
sdk install java 25.0.0-tem # Java 25 Temurin
sdk install java 25.0.0-sem # Java 25 Semeru
# Optional: Install Java 26 for non-LTS testing
# sdk install java 26.0.0-tem # Java 26 Temurin
# Set Java 25 as default for builds
sdk default java 25.0.0-tem
# After installation, update the paths below to:
# ~/.sdkman/candidates/java/17.0.13-tem
# ~/.sdkman/candidates/java/17.0.13-sem
# ~/.sdkman/candidates/java/21.0.5-tem
# ~/.sdkman/candidates/java/21.0.5-sem
# ~/.sdkman/candidates/java/25.0.0-tem
# ~/.sdkman/candidates/java/25.0.0-sem
USAGE:
- Default build (no toolchains): mvn clean install
- Test with Java 17: mvn clean test -Djdk.test.version=17
- Test with Java 21: mvn clean test -Djdk.test.version=21
- Test with Java 25: mvn clean test -Djdk.test.version=25
- Test with specific vendor: mvn clean test -Djdk.test.version=21 -Djdk.test.vendor=semeru
REQUIRED JDKs FOR FULL CI COMPATIBILITY:
- Java 17 (Temurin and Semeru)
- Java 21 (Temurin and Semeru)
- Java 25 (Temurin and Semeru)
OPTIONAL: Java 26 (or latest non-LTS) for future compatibility testing
JDK DOWNLOADS:
- Temurin: https://adoptium.net/
- Semeru: https://developer.ibm.com/languages/java/semeru-runtimes/
- SDKMAN!: https://sdkman.io/
-->
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/TOOLCHAINS/1.1.0
http://maven.apache.org/xsd/toolchains-1.1.0.xsd">
<!-- Java 17 - Temurin (Eclipse Adoptium) -->
<toolchain>
<type>jdk</type>
<provides>
<version>17</version>
<vendor>temurin</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to match your Java 17 Temurin installation -->
<jdkHome>/path/to/jdk-17-temurin</jdkHome>
</configuration>
</toolchain>
<!-- Java 17 - Semeru (IBM) -->
<toolchain>
<type>jdk</type>
<provides>
<version>17</version>
<vendor>semeru</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to match your Java 17 Semeru installation -->
<jdkHome>/path/to/jdk-17-semeru</jdkHome>
</configuration>
</toolchain>
<!-- Java 21 - Temurin (Eclipse Adoptium) -->
<toolchain>
<type>jdk</type>
<provides>
<version>21</version>
<vendor>temurin</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to match your Java 21 Temurin installation -->
<jdkHome>/path/to/jdk-21-temurin</jdkHome>
</configuration>
</toolchain>
<!-- Java 21 - Semeru (IBM) -->
<toolchain>
<type>jdk</type>
<provides>
<version>21</version>
<vendor>semeru</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to match your Java 21 Semeru installation -->
<jdkHome>/path/to/jdk-21-semeru</jdkHome>
</configuration>
</toolchain>
<!-- Java 25 - Temurin (Eclipse Adoptium) -->
<toolchain>
<type>jdk</type>
<provides>
<version>25</version>
<vendor>temurin</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to match your Java 25 Temurin installation -->
<jdkHome>/path/to/jdk-25-temurin</jdkHome>
</configuration>
</toolchain>
<!-- Java 25 - Semeru (IBM) -->
<toolchain>
<type>jdk</type>
<provides>
<version>25</version>
<vendor>semeru</vendor>
</provides>
<configuration>
<!-- UPDATE THIS PATH to match your Java 25 Semeru installation -->
<jdkHome>/path/to/jdk-25-semeru</jdkHome>
</configuration>
</toolchain>
<!-- OPTIONAL: Java 26 (or latest non-LTS) - Temurin -->
<!--
<toolchain>
<type>jdk</type>
<provides>
<version>26</version>
<vendor>temurin</vendor>
</provides>
<configuration>
<jdkHome>/path/to/jdk-26-temurin</jdkHome>
</configuration>
</toolchain>
-->
</toolchains>