From f99b440efd7c76a68c5d68b275336c81b7be2fb5 Mon Sep 17 00:00:00 2001 From: Yichen Yan Date: Mon, 14 Aug 2023 16:12:49 +0800 Subject: [PATCH] more improved SDK lookup. --- mx_ide_intellij.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mx_ide_intellij.py b/mx_ide_intellij.py index 6cab7b34..5ac92c0c 100644 --- a/mx_ide_intellij.py +++ b/mx_ide_intellij.py @@ -132,7 +132,12 @@ def verSort(path): xmlSdks.sort(key=verSort, reverse=True) sdk_version_regexes = { - intellij_java_sdk_type: re.compile(r'^java\s+version\s+"([^"]+)"$|^(Oracle OpenJDK )?version\s+(.+)$|^([\d._]+)$'), + # Examples: + # java version "21" + # GraalVM version 21 (vendor name may change) + intellij_java_sdk_type: re.compile(r'^java\s+version\s+"([^"]+)"$|' + r'^(?:.+ )?version\s+(.+)$|' + r'^([\d._]+)$'), intellij_python_sdk_type: re.compile(r'^Python\s+(.+)$'), # Examples: @@ -170,7 +175,7 @@ def verSort(path): sdk_version = sdk.find("version").get("value") match = version_re.match(sdk_version) if match: - version = match.group(1) + version = next(filter(None, match.groups()), None) lang = sdk_languages[kind] if kind == intellij_python_sdk_type: import mx_enter