Skip to content

Commit 355efa0

Browse files
brunocaballerofniephaus
authored andcommitted
Improve GraalVM version check.
1 parent af8131c commit 355efa0

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

common/utils/src/main/java/org/graalvm/buildtools/utils/NativeImageUtils.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public class NativeImageUtils {
6060

6161
private static final Pattern requiredVersionPattern = Pattern.compile("^([0-9]+)(?:\\.([0-9]+)?)?(?:\\.([0-9]+)?)?$");
6262

63-
private static final Pattern graalvmVersionPattern = Pattern.compile("^(GraalVM|native-image) ([0-9]+)\\.([0-9]+)\\.([0-9]+).*");
63+
private static final Pattern graalvmVersionPattern = Pattern.compile("^(GraalVM|native-image) ([0-9]+)\\.([0-9]+)\\.([0-9]+).*", Pattern.DOTALL);
6464

6565
private static final Pattern javaVersionPattern = Pattern.compile("^native-image ([0-9]+).*", Pattern.DOTALL);
6666
private static final Pattern javaVersionLegacyPattern = Pattern.compile(".* \\(Java Version ([0-9]+)\\.([0-9]+)\\.([0-9]+).*");

common/utils/src/test/java/org/graalvm/buildtools/utils/NativeImageUtilsTest.java

+11
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,17 @@ void checkOracleGraalVMVersion() {
137137
Assertions.assertEquals(21, NativeImageUtils.getMajorJDKVersion(oracleGraalVMForJDK21));
138138
}
139139

140+
@Test
141+
void checkOtherGraalVMVersion() {
142+
String otherGraalVMForJDK23 = "native-image 23.0.1 2024-10-15\nJava(TM) SE Runtime Environment Foo Bar 23.0.1+11.1 (build 23.0.1+11-foo-bar-jvmci-b01)\n" +
143+
"Java HotSpot(TM) 64-Bit Server VM Foo Bar 23.0.1+11.1 (build 23.0.1+11-foo-bar-jvmci-b01, mixed mode, sharing)";
144+
NativeImageUtils.checkVersion("22.3.0", otherGraalVMForJDK23);
145+
NativeImageUtils.checkVersion("23", otherGraalVMForJDK23);
146+
NativeImageUtils.checkVersion("23.0", otherGraalVMForJDK23);
147+
NativeImageUtils.checkVersion("23.0.1", otherGraalVMForJDK23);
148+
Assertions.assertEquals(23, NativeImageUtils.getMajorJDKVersion(otherGraalVMForJDK23));
149+
}
150+
140151
@Test
141152
void checkGreaterVersion() {
142153
NativeImageUtils.checkVersion("22", "GraalVM 23.2.1");

0 commit comments

Comments
 (0)