47 lines
2 KiB
Diff
47 lines
2 KiB
Diff
diff --git a/portablemc/standard.py b/portablemc/standard.py
|
|
index f59c55d..0f017e1 100644
|
|
--- a/portablemc/standard.py
|
|
+++ b/portablemc/standard.py
|
|
@@ -843,6 +843,8 @@ class Version:
|
|
if jvm_major_version is not None and not isinstance(jvm_major_version, int):
|
|
raise ValueError("metadata: /javaVersion/majorVersion must be an integer")
|
|
|
|
+ return self._resolve_builtin_jvm(watcher, JvmNotFoundError.UNSUPPORTED_ARCH, jvm_major_version)
|
|
+
|
|
if platform.system() == "Linux" and platform.libc_ver()[0] != "glibc":
|
|
return self._resolve_builtin_jvm(watcher, JvmNotFoundError.UNSUPPORTED_LIBC, jvm_major_version)
|
|
|
|
@@ -926,31 +928,10 @@ class Version:
|
|
builtin_path = shutil.which(jvm_bin_filename)
|
|
if builtin_path is None:
|
|
raise JvmNotFoundError(reason)
|
|
-
|
|
- try:
|
|
-
|
|
- # Get version of the JVM.
|
|
- process = Popen([builtin_path, "-version"], bufsize=1, stdout=PIPE, stderr=STDOUT, universal_newlines=True)
|
|
- stdout, _stderr = process.communicate(timeout=1)
|
|
-
|
|
- version_start = stdout.index(f"1.{major_version}" if major_version <= 8 else str(major_version))
|
|
- version = None
|
|
-
|
|
- # Parse version by getting all character that are numeric or '.'.
|
|
- for i, ch in enumerate(stdout[version_start:]):
|
|
- if not ch.isnumeric() and ch not in (".", "_"):
|
|
- version = stdout[version_start:i]
|
|
- break
|
|
-
|
|
- if version is None:
|
|
- raise ValueError()
|
|
-
|
|
- except (TimeoutExpired, ValueError):
|
|
- raise JvmNotFoundError(JvmNotFoundError.BUILTIN_INVALID_VERSION)
|
|
|
|
self._jvm_path = Path(builtin_path)
|
|
- self._jvm_version = version
|
|
- watcher.handle(JvmLoadedEvent(version, JvmLoadedEvent.BUILTIN))
|
|
+ self._jvm_version = "nixpkgs"
|
|
+ watcher.handle(JvmLoadedEvent("nixpkgs", JvmLoadedEvent.BUILTIN))
|
|
|
|
def _download(self, watcher: Watcher) -> None:
|
|
|