Skip to content

Commit

Permalink
Merge pull request #386 from sdeleuze/gh-384
Browse files Browse the repository at this point in the history
Fix `NativeImageUtils#checkVersion`
  • Loading branch information
sdeleuze committed Jan 16, 2023
2 parents 93318bf + 795e075 commit 6c94a5e
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@ public static String escapeArg(String arg) {
* @throws IllegalStateException when the version is not correct
*/
public static void checkVersion(String requiredVersion, String versionToCheck) {
if (versionToCheck.startsWith("GraalVM dev")) {
return;
}
Matcher requiredMatcher = requiredVersionPattern.matcher(requiredVersion);
if (!requiredMatcher.matches()) {
throw new IllegalArgumentException("Invalid version " + requiredVersion + ", should be for example \"22\", \"22.3\" or \"22.3.0\".");
Expand All @@ -133,13 +136,19 @@ public static void checkVersion(String requiredVersion, String versionToCheck) {
throw new IllegalStateException("GraalVM version " + requiredMajor + " is required but " + checkedMajor +
" has been detected, please upgrade.");
}
if (checkedMajor > requiredMajor) {
return;
}
if (requiredMatcher.group(2) != null) {
int requiredMinor = Integer.parseInt(requiredMatcher.group(2));
int checkedMinor = Integer.parseInt(checkedMatcher.group(2));
if (checkedMinor < requiredMinor) {
throw new IllegalStateException("GraalVM version " + requiredMajor + "." + requiredMinor +
" is required but " + checkedMajor + "." + checkedMinor + " has been detected, please upgrade.");
}
if (checkedMinor > requiredMinor) {
return;
}
if (requiredMatcher.group(3) != null) {
int requiredPatch = Integer.parseInt(requiredMatcher.group(3));
int checkedPatch = Integer.parseInt(checkedMatcher.group(3));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ void checkGraalVMCEDevVersion() {
NativeImageUtils.checkVersion("22", "GraalVM 22.3.0-dev Java 17 CE (Java Version 17.0.5+8-LTS)");
NativeImageUtils.checkVersion("22.3", "GraalVM 22.3.0-dev Java 17 CE (Java Version 17.0.5+8-LTS)");
NativeImageUtils.checkVersion("22.3.0", "GraalVM 22.3.0-dev Java 17 CE (Java Version 17.0.5+8-LTS)");
NativeImageUtils.checkVersion("22.3.0", "GraalVM 23.0.0-dev Java 17.0.6+2-jvmci-23.0-b04 CE (Java Version 17.0.6+2-jvmci-23.0-b04)");
NativeImageUtils.checkVersion("22.3.0", "GraalVM dev CE (Java Version 19+36-jvmci-23.0-b01)");
}

@Test
Expand All @@ -89,6 +91,8 @@ void checkGreaterVersion() {
NativeImageUtils.checkVersion("22", "GraalVM 23.2.1");
NativeImageUtils.checkVersion("23.1", "GraalVM 23.2.1");
NativeImageUtils.checkVersion("23.2.0", "GraalVM 23.2.1");
NativeImageUtils.checkVersion("22.3.0", "GraalVM 23.0.0");
NativeImageUtils.checkVersion("22.2.1", "GraalVM 22.3.0");
}

@Test
Expand Down

0 comments on commit 6c94a5e

Please sign in to comment.