UNPKG

appium-doctor

Version:

Test environment for fitness to run Appium

85 lines (58 loc) 7.85 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.BinaryIsInPathCheck = exports.AndroidSdkExists = void 0; require("source-map-support/register"); var _doctor = require("./doctor"); var _utils = require("./utils"); var _appiumSupport = require("appium-support"); var _path = _interopRequireDefault(require("path")); require("@colors/colors"); let checks = []; class BinaryIsInPathCheck extends _doctor.DoctorCheck { constructor(binary) { super(); this.binary = binary; } async diagnose() { const resolvedPath = await (0, _utils.resolveExecutablePath)(this.binary); if (!resolvedPath) { return (0, _utils.nok)(`${this.binary} is MISSING in PATH: ${process.env.PATH}`); } return (0, _utils.ok)(`${this.binary} was found at ${resolvedPath}`); } fix() { return `Manually install the ${this.binary.bold} binary and add it to ${'PATH'.bold}.`; } } exports.BinaryIsInPathCheck = BinaryIsInPathCheck; checks.push(new BinaryIsInPathCheck(_appiumSupport.system.isWindows() ? 'mvn.bat' : 'mvn')); checks.push(new BinaryIsInPathCheck(_appiumSupport.system.isWindows() ? 'ant.bat' : 'ant')); checks.push(new BinaryIsInPathCheck(_appiumSupport.system.isWindows() ? 'adb.exe' : 'adb')); class AndroidSdkExists extends _doctor.DoctorCheck { constructor(sdk) { super(); this.sdk = sdk; } async diagnose() { if (typeof process.env.ANDROID_HOME === 'undefined') { return (0, _utils.nok)(`${this.sdk} could not be found because ANDROID_HOME is NOT set!`); } let sdkPath = _path.default.resolve(process.env.ANDROID_HOME, _path.default.join('platforms', this.sdk)); return (await _appiumSupport.fs.exists(sdkPath)) ? (0, _utils.ok)(`${this.sdk} was found at: ${sdkPath}`) : (0, _utils.nok)(`${this.sdk} could NOT be found at '${sdkPath}'!`); } fix() { if (typeof process.env.ANDROID_HOME === 'undefined') { return `Manually configure ${'ANDROID_HOME'.bold}.`; } return `Manually install the ${this.sdk.bold} sdk.`; } } exports.AndroidSdkExists = AndroidSdkExists; checks.push(new AndroidSdkExists('android-16')); checks.push(new AndroidSdkExists('android-19')); var _default = checks; exports.default = _default;require('source-map-support').install(); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2Rldi5qcyIsIm5hbWVzIjpbImNoZWNrcyIsIkJpbmFyeUlzSW5QYXRoQ2hlY2siLCJEb2N0b3JDaGVjayIsImNvbnN0cnVjdG9yIiwiYmluYXJ5IiwiZGlhZ25vc2UiLCJyZXNvbHZlZFBhdGgiLCJyZXNvbHZlRXhlY3V0YWJsZVBhdGgiLCJub2siLCJwcm9jZXNzIiwiZW52IiwiUEFUSCIsIm9rIiwiZml4IiwiYm9sZCIsInB1c2giLCJzeXN0ZW0iLCJpc1dpbmRvd3MiLCJBbmRyb2lkU2RrRXhpc3RzIiwic2RrIiwiQU5EUk9JRF9IT01FIiwic2RrUGF0aCIsInBhdGgiLCJyZXNvbHZlIiwiam9pbiIsImZzIiwiZXhpc3RzIl0sInNvdXJjZVJvb3QiOiIuLi8uLiIsInNvdXJjZXMiOlsibGliL2Rldi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEb2N0b3JDaGVjayB9IGZyb20gJy4vZG9jdG9yJztcbmltcG9ydCB7IG9rLCBub2ssIHJlc29sdmVFeGVjdXRhYmxlUGF0aCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgZnMsIHN5c3RlbSB9IGZyb20gJ2FwcGl1bS1zdXBwb3J0JztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICdAY29sb3JzL2NvbG9ycyc7XG5cbmxldCBjaGVja3MgPSBbXTtcblxuLy8gQ2hlY2sgUEFUSCBiaW5hcmllc1xuY2xhc3MgQmluYXJ5SXNJblBhdGhDaGVjayBleHRlbmRzIERvY3RvckNoZWNrIHtcbiAgY29uc3RydWN0b3IgKGJpbmFyeSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5iaW5hcnkgPSBiaW5hcnk7XG4gIH1cblxuICBhc3luYyBkaWFnbm9zZSAoKSB7XG4gICAgY29uc3QgcmVzb2x2ZWRQYXRoID0gYXdhaXQgcmVzb2x2ZUV4ZWN1dGFibGVQYXRoKHRoaXMuYmluYXJ5KTtcbiAgICBpZiAoIXJlc29sdmVkUGF0aCkge1xuICAgICAgcmV0dXJuIG5vayhgJHt0aGlzLmJpbmFyeX0gaXMgTUlTU0lORyBpbiBQQVRIOiAke3Byb2Nlc3MuZW52LlBBVEh9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9rKGAke3RoaXMuYmluYXJ5fSB3YXMgZm91bmQgYXQgJHtyZXNvbHZlZFBhdGh9YCk7XG4gIH1cblxuICBmaXggKCkge1xuICAgIHJldHVybiBgTWFudWFsbHkgaW5zdGFsbCB0aGUgJHt0aGlzLmJpbmFyeS5ib2xkfSBiaW5hcnkgYW5kIGFkZCBpdCB0byAkeydQQVRIJy5ib2xkfS5gO1xuICB9XG59XG5cbmNoZWNrcy5wdXNoKG5ldyBCaW5hcnlJc0luUGF0aENoZWNrKHN5c3RlbS5pc1dpbmRvd3MoKSA/ICdtdm4uYmF0JyA6ICdtdm4nKSk7XG5jaGVja3MucHVzaChuZXcgQmluYXJ5SXNJblBhdGhDaGVjayhzeXN0ZW0uaXNXaW5kb3dzKCkgPyAnYW50LmJhdCcgOiAnYW50JykpO1xuY2hlY2tzLnB1c2gobmV3IEJpbmFyeUlzSW5QYXRoQ2hlY2soc3lzdGVtLmlzV2luZG93cygpID8gJ2FkYi5leGUnIDogJ2FkYicpKTtcblxuLy8gQ2hlY2sgQW5kcm9pZCBTREtzXG5jbGFzcyBBbmRyb2lkU2RrRXhpc3RzIGV4dGVuZHMgRG9jdG9yQ2hlY2sge1xuICBjb25zdHJ1Y3RvciAoc2RrKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNkayA9IHNkaztcbiAgfVxuXG4gIGFzeW5jIGRpYWdub3NlICgpIHtcbiAgICBpZiAodHlwZW9mIHByb2Nlc3MuZW52LkFORFJPSURfSE9NRSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiBub2soYCR7dGhpcy5zZGt9IGNvdWxkIG5vdCBiZSBmb3VuZCBiZWNhdXNlIEFORFJPSURfSE9NRSBpcyBOT1Qgc2V0IWApO1xuICAgIH1cbiAgICBsZXQgc2RrUGF0aCA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmVudi5BTkRST0lEX0hPTUUsIHBhdGguam9pbigncGxhdGZvcm1zJywgdGhpcy5zZGspKTtcbiAgICByZXR1cm4gYXdhaXQgZnMuZXhpc3RzKHNka1BhdGgpID8gb2soYCR7dGhpcy5zZGt9IHdhcyBmb3VuZCBhdDogJHtzZGtQYXRofWApIDpcbiAgICAgIG5vayhgJHt0aGlzLnNka30gY291bGQgTk9UIGJlIGZvdW5kIGF0ICcke3Nka1BhdGh9JyFgKTtcbiAgfVxuXG4gIGZpeCAoKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9jZXNzLmVudi5BTkRST0lEX0hPTUUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gYE1hbnVhbGx5IGNvbmZpZ3VyZSAkeydBTkRST0lEX0hPTUUnLmJvbGR9LmA7XG4gICAgfVxuICAgIHJldHVybiBgTWFudWFsbHkgaW5zdGFsbCB0aGUgJHt0aGlzLnNkay5ib2xkfSBzZGsuYDtcbiAgfVxufVxuXG5jaGVja3MucHVzaChuZXcgQW5kcm9pZFNka0V4aXN0cygnYW5kcm9pZC0xNicpKTtcbmNoZWNrcy5wdXNoKG5ldyBBbmRyb2lkU2RrRXhpc3RzKCdhbmRyb2lkLTE5JykpO1xuXG5leHBvcnQgeyBCaW5hcnlJc0luUGF0aENoZWNrLCBBbmRyb2lkU2RrRXhpc3RzIH07XG5leHBvcnQgZGVmYXVsdCBjaGVja3M7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBSUEsTUFBTSxHQUFHLEVBQWI7O0FBR0EsTUFBTUMsbUJBQU4sU0FBa0NDLG1CQUFsQyxDQUE4QztFQUM1Q0MsV0FBVyxDQUFFQyxNQUFGLEVBQVU7SUFDbkI7SUFDQSxLQUFLQSxNQUFMLEdBQWNBLE1BQWQ7RUFDRDs7RUFFYSxNQUFSQyxRQUFRLEdBQUk7SUFDaEIsTUFBTUMsWUFBWSxHQUFHLE1BQU0sSUFBQUMsNEJBQUEsRUFBc0IsS0FBS0gsTUFBM0IsQ0FBM0I7O0lBQ0EsSUFBSSxDQUFDRSxZQUFMLEVBQW1CO01BQ2pCLE9BQU8sSUFBQUUsVUFBQSxFQUFLLEdBQUUsS0FBS0osTUFBTyx3QkFBdUJLLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxJQUFLLEVBQTNELENBQVA7SUFDRDs7SUFFRCxPQUFPLElBQUFDLFNBQUEsRUFBSSxHQUFFLEtBQUtSLE1BQU8saUJBQWdCRSxZQUFhLEVBQS9DLENBQVA7RUFDRDs7RUFFRE8sR0FBRyxHQUFJO0lBQ0wsT0FBUSx3QkFBdUIsS0FBS1QsTUFBTCxDQUFZVSxJQUFLLHlCQUF3QixPQUFPQSxJQUFLLEdBQXBGO0VBQ0Q7O0FBakIyQzs7O0FBb0I5Q2QsTUFBTSxDQUFDZSxJQUFQLENBQVksSUFBSWQsbUJBQUosQ0FBd0JlLHFCQUFBLENBQU9DLFNBQVAsS0FBcUIsU0FBckIsR0FBaUMsS0FBekQsQ0FBWjtBQUNBakIsTUFBTSxDQUFDZSxJQUFQLENBQVksSUFBSWQsbUJBQUosQ0FBd0JlLHFCQUFBLENBQU9DLFNBQVAsS0FBcUIsU0FBckIsR0FBaUMsS0FBekQsQ0FBWjtBQUNBakIsTUFBTSxDQUFDZSxJQUFQLENBQVksSUFBSWQsbUJBQUosQ0FBd0JlLHFCQUFBLENBQU9DLFNBQVAsS0FBcUIsU0FBckIsR0FBaUMsS0FBekQsQ0FBWjs7QUFHQSxNQUFNQyxnQkFBTixTQUErQmhCLG1CQUEvQixDQUEyQztFQUN6Q0MsV0FBVyxDQUFFZ0IsR0FBRixFQUFPO0lBQ2hCO0lBQ0EsS0FBS0EsR0FBTCxHQUFXQSxHQUFYO0VBQ0Q7O0VBRWEsTUFBUmQsUUFBUSxHQUFJO0lBQ2hCLElBQUksT0FBT0ksT0FBTyxDQUFDQyxHQUFSLENBQVlVLFlBQW5CLEtBQW9DLFdBQXhDLEVBQXFEO01BQ25ELE9BQU8sSUFBQVosVUFBQSxFQUFLLEdBQUUsS0FBS1csR0FBSSxzREFBaEIsQ0FBUDtJQUNEOztJQUNELElBQUlFLE9BQU8sR0FBR0MsYUFBQSxDQUFLQyxPQUFMLENBQWFkLE9BQU8sQ0FBQ0MsR0FBUixDQUFZVSxZQUF6QixFQUF1Q0UsYUFBQSxDQUFLRSxJQUFMLENBQVUsV0FBVixFQUF1QixLQUFLTCxHQUE1QixDQUF2QyxDQUFkOztJQUNBLE9BQU8sT0FBTU0saUJBQUEsQ0FBR0MsTUFBSCxDQUFVTCxPQUFWLENBQU4sSUFBMkIsSUFBQVQsU0FBQSxFQUFJLEdBQUUsS0FBS08sR0FBSSxrQkFBaUJFLE9BQVEsRUFBeEMsQ0FBM0IsR0FDTCxJQUFBYixVQUFBLEVBQUssR0FBRSxLQUFLVyxHQUFJLDJCQUEwQkUsT0FBUSxJQUFsRCxDQURGO0VBRUQ7O0VBRURSLEdBQUcsR0FBSTtJQUNMLElBQUksT0FBT0osT0FBTyxDQUFDQyxHQUFSLENBQVlVLFlBQW5CLEtBQW9DLFdBQXhDLEVBQXFEO01BQ25ELE9BQVEsc0JBQXFCLGVBQWVOLElBQUssR0FBakQ7SUFDRDs7SUFDRCxPQUFRLHdCQUF1QixLQUFLSyxHQUFMLENBQVNMLElBQUssT0FBN0M7RUFDRDs7QUFwQndDOzs7QUF1QjNDZCxNQUFNLENBQUNlLElBQVAsQ0FBWSxJQUFJRyxnQkFBSixDQUFxQixZQUFyQixDQUFaO0FBQ0FsQixNQUFNLENBQUNlLElBQVAsQ0FBWSxJQUFJRyxnQkFBSixDQUFxQixZQUFyQixDQUFaO2VBR2VsQixNIn0=