appium-espresso-driver
Version:
Espresso integration for Appium
56 lines • 2.76 kB
JavaScript
;
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