/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
library/python/testing/yatest_common/yatest/common/runtime_java.py
46 строк
1 KB
qkrorlqr
Initial NBS OpenSource export
28 апр 2023, 21:54
28 апр 2023, 21:54
783a858
Код
Авторство
О чём код?
import os import tarfile import contextlib from . import runtime _JAVA_DIR = [] def get_java_path(jdk_dir): # deprecated - to be deleted java_paths = (os.path.join(jdk_dir, 'bin', 'java'), os.path.join(jdk_dir, 'bin', 'java.exe')) for p in java_paths: if os.path.exists(p): return p for f in os.listdir(jdk_dir): if f.endswith('.tar'): with contextlib.closing(tarfile.open(os.path.join(jdk_dir, f))) as tf: tf.extractall(jdk_dir) for p in java_paths: if os.path.exists(p): return p return '' def get_build_java_dir(jdk_dir): versions = [8, 10, 11, 12, 13, 14, 15, 16, 17] if not _JAVA_DIR: for version in versions: jdk_tar_path = os.path.join(jdk_dir, "jdk{}.tar".format(version)) if os.path.exists(jdk_tar_path): jdk_dir = runtime.build_path('jdk4test') with contextlib.closing(tarfile.open(jdk_tar_path)) as tf: tf.extractall(jdk_dir) assert os.path.exists(os.path.join(jdk_dir, "bin", "java")) _JAVA_DIR.append(jdk_dir) break else: _JAVA_DIR.append(None) return _JAVA_DIR[0]