UNPKG

@rnv/sdk-tizen

Version:
120 lines 6.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.checkTizenSdk = exports.checkAndConfigureTizenSdks = void 0; var tslib_1 = require("tslib"); var path_1 = tslib_1.__importDefault(require("path")); var core_1 = require("@rnv/core"); var constants_1 = require("./constants"); var getSdkLocations = function () { var ctx = (0, core_1.getContext)(); var sdkLocations = [ path_1.default.join('usr/local/tizen-studio'), path_1.default.join(ctx.paths.user.homeDir, 'tizen-studio'), path_1.default.join('C:\\tizen-studio'), ]; return sdkLocations; }; var _logSdkWarning = function (c) { (0, core_1.logWarning)("Your ".concat(c.paths.workspace.config, " is missing SDK configuration object")); }; var checkAndConfigureTizenSdks = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var c, sdk; var _a, _b; return tslib_1.__generator(this, function (_c) { c = (0, core_1.getContext)(); (0, core_1.logDefault)("checkAndConfigureTizenSdks:".concat(c.platform)); sdk = (_b = (_a = c.buildConfig) === null || _a === void 0 ? void 0 : _a.sdks) === null || _b === void 0 ? void 0 : _b.TIZEN_SDK; if (sdk) { c.cli[constants_1.CLI_TIZEN_EMULATOR] = (0, core_1.getRealPath)(path_1.default.join(sdk, "tools/emulator/bin/em-cli".concat(core_1.isSystemWin ? '.bat' : ''))); c.cli[constants_1.CLI_TIZEN] = (0, core_1.getRealPath)(path_1.default.join(sdk, "tools/ide/bin/tizen".concat(core_1.isSystemWin ? '.bat' : ''))); c.cli[constants_1.CLI_SDB_TIZEN] = (0, core_1.getRealPath)(path_1.default.join(sdk, "tools/sdb".concat(core_1.isSystemWin ? '.exe' : ''))); } else { _logSdkWarning(c); } return [2 /*return*/]; }); }); }; exports.checkAndConfigureTizenSdks = checkAndConfigureTizenSdks; var _getCurrentSdkPath = function (c) { var _a, _b; return (c.platform ? (_b = (_a = c.buildConfig) === null || _a === void 0 ? void 0 : _a.sdks) === null || _b === void 0 ? void 0 : _b.TIZEN_SDK : undefined); }; var _isSdkInstalled = function (c) { (0, core_1.logDefault)('_isSdkInstalled'); if (!c.platform) return false; var sdkPath = _getCurrentSdkPath(c); return (0, core_1.fsExistsSync)((0, core_1.getRealPath)(sdkPath)); }; var _attemptAutoFix = function (c, shouldThrow) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var result, confirmSdk, confirm_1, e_1; var _a; return tslib_1.__generator(this, function (_b) { switch (_b.label) { case 0: (0, core_1.logDefault)('_attemptAutoFix'); if (!c.files.workspace.config) return [2 /*return*/]; if (c.program.opts().hosted) { (0, core_1.logInfo)('HOSTED Mode. Skipping SDK checks'); return [2 /*return*/, true]; } result = getSdkLocations().find(function (v) { return (0, core_1.fsExistsSync)(v); }); if (!result) return [3 /*break*/, 7]; (0, core_1.logSuccess)("Found existing ".concat(c.platform, " SDK location at ").concat((0, core_1.chalk)().bold.white(result))); confirmSdk = true; if (!!c.program.opts().ci) return [3 /*break*/, 2]; return [4 /*yield*/, (0, core_1.inquirerPrompt)({ type: 'confirm', name: 'confirm', message: 'Do you want to use it?', })]; case 1: confirm_1 = (_b.sent()).confirm; confirmSdk = confirm_1; _b.label = 2; case 2: if (!confirmSdk) return [3 /*break*/, 7]; _b.label = 3; case 3: _b.trys.push([3, 5, , 6]); if (!((_a = c.files.workspace.config) === null || _a === void 0 ? void 0 : _a.sdks)) c.files.workspace.config.sdks = {}; c.files.workspace.config.sdks.TIZEN_SDK = result; //TODO: use config_original here? (0, core_1.writeFileSync)(c.paths.workspace.config, c.files.workspace.config); (0, core_1.generateBuildConfig)(); return [4 /*yield*/, (0, exports.checkAndConfigureTizenSdks)()]; case 4: _b.sent(); return [3 /*break*/, 6]; case 5: e_1 = _b.sent(); (0, core_1.logError)(e_1); return [3 /*break*/, 6]; case 6: return [2 /*return*/, true]; case 7: if (shouldThrow) { throw new Error("_attemptAutoFix: no sdks found. searched at: ".concat(getSdkLocations().join(', '))); } else (0, core_1.logDefault)("_attemptAutoFix: no sdks found. searched at: ".concat(getSdkLocations().join(', '))); // const setupInstance = PlatformSetup(c); // await setupInstance.askToInstallSDK(sdkPlatform); (0, core_1.generateBuildConfig)(); return [2 /*return*/, true]; } }); }); }; var checkTizenSdk = function (shouldThrow) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var c; return tslib_1.__generator(this, function (_a) { c = (0, core_1.getContext)(); (0, core_1.logDefault)('checkTizenSdk'); if (!_isSdkInstalled(c)) { (0, core_1.logWarning)("".concat(c.platform, " platform requires Tizen SDK to be installed. Your SDK path in ").concat((0, core_1.chalk)().bold.white(c.paths.workspace.config), " does not exist: ").concat((0, core_1.chalk)().bold.white(_getCurrentSdkPath(c)))); return [2 /*return*/, _attemptAutoFix(c, shouldThrow)]; } return [2 /*return*/, true]; }); }); }; exports.checkTizenSdk = checkTizenSdk; //# sourceMappingURL=installer.js.map