@rnv/sdk-tizen
Version:
ReNative Tizen SDK
120 lines • 6.06 kB
JavaScript
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
;