Skip to content

Commit

Permalink
Merge pull request #396 from dnestoro/dnestoro/FixBuildToolsVersionCheck
Browse files Browse the repository at this point in the history
Set regex to accept both GraalVM and native-image as version names
  • Loading branch information
dnestoro committed Feb 9, 2023
2 parents 2449cb3 + 9f2f1b2 commit 82a822c
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public class NativeImageUtils {

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

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

public static void maybeCreateConfigureUtilSymlink(File configureUtilFile, Path nativeImageExecutablePath) {
if (!configureUtilFile.exists()) {
Expand Down Expand Up @@ -119,7 +119,7 @@ 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")) {
if (versionToCheck.startsWith("GraalVM dev") || versionToCheck.startsWith("native-image dev")) {
return;
}
Matcher requiredMatcher = requiredVersionPattern.matcher(requiredVersion);
Expand All @@ -131,7 +131,7 @@ public static void checkVersion(String requiredVersion, String versionToCheck) {
throw new IllegalArgumentException("Version to check '" + versionToCheck + "' can't be parsed.");
}
int requiredMajor = Integer.parseInt(requiredMatcher.group(1));
int checkedMajor = Integer.parseInt(checkedMatcher.group(1));
int checkedMajor = Integer.parseInt(checkedMatcher.group(2));
if (checkedMajor < requiredMajor) {
throw new IllegalStateException("GraalVM version " + requiredMajor + " is required but " + checkedMajor +
" has been detected, please upgrade.");
Expand All @@ -141,7 +141,7 @@ public static void checkVersion(String requiredVersion, String versionToCheck) {
}
if (requiredMatcher.group(2) != null) {
int requiredMinor = Integer.parseInt(requiredMatcher.group(2));
int checkedMinor = Integer.parseInt(checkedMatcher.group(2));
int checkedMinor = Integer.parseInt(checkedMatcher.group(3));
if (checkedMinor < requiredMinor) {
throw new IllegalStateException("GraalVM version " + requiredMajor + "." + requiredMinor +
" is required but " + checkedMajor + "." + checkedMinor + " has been detected, please upgrade.");
Expand All @@ -151,7 +151,7 @@ public static void checkVersion(String requiredVersion, String versionToCheck) {
}
if (requiredMatcher.group(3) != null) {
int requiredPatch = Integer.parseInt(requiredMatcher.group(3));
int checkedPatch = Integer.parseInt(checkedMatcher.group(3));
int checkedPatch = Integer.parseInt(checkedMatcher.group(4));
if (checkedPatch < requiredPatch) {
throw new IllegalStateException("GraalVM version " + requiredMajor + "." + requiredMinor + "." +
requiredPatch + " is required but " + checkedMajor + "." + checkedMinor + "." + checkedPatch +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ void checkGraalVMCEDevVersion() {
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)");
NativeImageUtils.checkVersion("22.3.0", "native-image dev CE (Java Version 19+36-jvmci-23.0-b01)");
}

@Test
Expand All @@ -93,6 +94,7 @@ void checkGreaterVersion() {
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");
NativeImageUtils.checkVersion("22.2.1", "native-image 22.3.0");
}

@Test
Expand Down

0 comments on commit 82a822c

Please sign in to comment.