UNPKG

appium-espresso-driver

Version:
56 lines 2.76 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.javaVersionCheck = exports.JavaVersionCheck = exports.androidSdkCheck = exports.javaHomeValueCheck = exports.javaHomeCheck = exports.androidHomeCheck = void 0; const appium_android_driver_1 = require("appium-android-driver"); const teen_process_1 = require("teen_process"); const support_1 = require("appium/support"); const node_path_1 = __importDefault(require("node:path")); exports.androidHomeCheck = appium_android_driver_1.doctor.androidHomeCheck; exports.javaHomeCheck = appium_android_driver_1.doctor.javaHomeCheck; exports.javaHomeValueCheck = appium_android_driver_1.doctor.javaHomeValueCheck; exports.androidSdkCheck = appium_android_driver_1.doctor.androidSdkCheck; /** @satisfies {import('@appium/types').IDoctorCheck} */ class JavaVersionCheck { constructor() { this.MIN_JAVA_VERSION = 11; this.JAVA_VERSION_PATTERN = /^\s*java\.version\s*=\s*([\d.]+)/m; } async diagnose() { const javaHome = process.env.JAVA_HOME; const fullJavaPath = node_path_1.default.join(javaHome ?? '', 'bin', `java${support_1.system.isWindows() ? '.exe' : ''}`); if (!javaHome || !await support_1.fs.exists(fullJavaPath)) { return support_1.doctor.nok(`Cannot retrieve Java version. Is Java installed and JAVA_HOME set to a proper path?`); } let javaVerMatch; try { const { stderr } = await (0, teen_process_1.exec)(fullJavaPath, ['-XshowSettings:properties', '-version']); javaVerMatch = this.JAVA_VERSION_PATTERN.exec(stderr); } catch (e) { return support_1.doctor.nok(`Cannot retrieve Java version: ${e.stderr || e.message}`); } if (!javaVerMatch) { return support_1.doctor.nok(`The actual Java version cannot be retrieved`); } const majorVer = parseInt(javaVerMatch[1], 10); return majorVer < this.MIN_JAVA_VERSION ? support_1.doctor.nok(`The active Java version ${javaVerMatch[1]} is older than the required one`) : support_1.doctor.ok(`The active Java version matches (${majorVer} >= ${this.MIN_JAVA_VERSION})`); } async fix() { return `Upgrade to Java ${this.MIN_JAVA_VERSION}+ or update ` + `the JAVA_HOME environment variable if it is already installed`; } hasAutofix() { return false; } isOptional() { return false; } } exports.JavaVersionCheck = JavaVersionCheck; exports.javaVersionCheck = new JavaVersionCheck(); //# sourceMappingURL=required-checks.js.map