@rnv/sdk-tizen
Version:
ReNative Tizen SDK
240 lines • 12 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.configureTizenProject = exports.buildTizenProject = exports.runTizen = exports.configureTizenGlobal = exports.checkTizenStudioCert = void 0;
var tslib_1 = require("tslib");
var sdk_webpack_1 = require("@rnv/sdk-webpack");
var path_1 = tslib_1.__importDefault(require("path"));
var core_1 = require("@rnv/core");
var semver_1 = tslib_1.__importDefault(require("semver"));
var constants_1 = require("./constants");
var deviceManager_1 = require("./deviceManager");
var sdk_utils_1 = require("@rnv/sdk-utils");
var DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION = "".concat(deviceManager_1.DEFAULT_CERTIFICATE_NAME, ".p12");
var checkTizenStudioCert = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var e_1;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 2, , 3]);
return [4 /*yield*/, (0, core_1.execCLI)(constants_1.CLI_TIZEN, "security-profiles list -n ".concat((0, core_1.getConfigProp)('certificateProfile') || core_1.DEFAULTS.certificateProfile))];
case 1:
_a.sent();
return [2 /*return*/, true];
case 2:
e_1 = _a.sent();
return [2 /*return*/, false];
case 3: return [2 /*return*/];
}
});
}); };
exports.checkTizenStudioCert = checkTizenStudioCert;
var configureTizenGlobal = function () {
return new Promise(function (resolve, reject) {
var c = (0, core_1.getContext)();
(0, core_1.logDefault)('configureTizenGlobal');
// Check Tizen Cert
// if (isPlatformActive(c, TIZEN) || isPlatformActive(c, TIZEN_WATCH)) {
var tizenAuthorCert = path_1.default.join(c.paths.workspace.dir, DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION);
if ((0, core_1.fsExistsSync)(tizenAuthorCert)) {
(0, exports.checkTizenStudioCert)()
.then(function (certificateExists) {
if (certificateExists) {
(0, core_1.logDebug)("".concat(DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION, " file exists in Tizen Studio!"));
resolve();
}
else {
(0, core_1.logWarning)("".concat(DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION, " file missing in Tizen Studio! Adding an existing..."));
var certDirPath = c.paths.workspace.dir;
var certFilename = deviceManager_1.DEFAULT_CERTIFICATE_NAME;
var certPassword = '1234';
(0, deviceManager_1.addDevelopTizenCertificate)(c, {
profileName: (0, core_1.getConfigProp)('certificateProfile') || core_1.DEFAULTS.certificateProfile,
certPath: path_1.default.join(certDirPath, "".concat(certFilename, ".p12")),
certPassword: certPassword,
})
.then(function () { return resolve(); })
.catch(function (e) {
reject(e);
});
}
})
.catch(function (e) { return reject(e); });
}
else {
(0, core_1.logWarning)("".concat(DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION, " file missing! Creating one for you..."));
(0, deviceManager_1.createDevelopTizenCertificate)(c)
.then(function () { return resolve(); })
.catch(function (e) {
reject(e);
});
}
// }
});
};
exports.configureTizenGlobal = configureTizenGlobal;
var _copyRequiredFiles = function () {
var tDir = (0, core_1.getPlatformProjectDir)();
var tBuild = path_1.default.join(tDir, 'build');
var requiredFiles = ['.project', '.tproject', 'config.xml', 'icon.png'];
requiredFiles.map(function (requiredFile) {
var requiredFilePath = path_1.default.join(tDir, requiredFile);
(0, core_1.copyFileSync)(requiredFilePath, path_1.default.join(tBuild, requiredFile));
});
};
var runTizen = function (c, target) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var platform, hosted, bundleAssets, isHosted, isPortActive, resetCompleted, isPortActive, isWeinreEnabled, resetCompleted;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
(0, core_1.logDefault)('runTizen', "target:".concat(target));
platform = c.platform;
hosted = c.program.opts().hosted;
if (!platform)
return [2 /*return*/];
bundleAssets = (0, core_1.getConfigProp)('bundleAssets') === true;
isHosted = hosted && !bundleAssets;
if (!isHosted) return [3 /*break*/, 4];
return [4 /*yield*/, (0, sdk_utils_1.checkPortInUse)(c.runtime.port)];
case 1:
isPortActive = _a.sent();
if (!isPortActive) return [3 /*break*/, 3];
return [4 /*yield*/, (0, sdk_utils_1.confirmActiveBundler)()];
case 2:
resetCompleted = _a.sent();
c.runtime.skipActiveServerCheck = !resetCompleted;
_a.label = 3;
case 3:
(0, core_1.logDefault)('runTizen', "target:".concat(target, " hosted:").concat(!!isHosted));
return [2 /*return*/];
case 4:
if (!bundleAssets) return [3 /*break*/, 7];
return [4 /*yield*/, (0, sdk_webpack_1.buildCoreWebpackProject)()];
case 5:
_a.sent();
_copyRequiredFiles();
return [4 /*yield*/, (0, deviceManager_1.runTizenSimOrDevice)()];
case 6:
_a.sent();
return [3 /*break*/, 15];
case 7: return [4 /*yield*/, (0, sdk_utils_1.checkPortInUse)(c.runtime.port)];
case 8:
isPortActive = _a.sent();
isWeinreEnabled = sdk_utils_1.REMOTE_DEBUGGER_ENABLED_PLATFORMS.includes(platform) && !bundleAssets && !hosted;
if (!!isPortActive) return [3 /*break*/, 10];
(0, core_1.logInfo)("Your ".concat((0, core_1.chalk)().bold.white(platform), " devServer at port ").concat((0, core_1.chalk)().bold.white(c.runtime.port), " is not running. Starting it up for you..."));
(0, sdk_utils_1.waitForHost)('')
.then(function () { return (0, deviceManager_1.runTizenSimOrDevice)(); })
.catch(core_1.logError);
return [4 /*yield*/, (0, sdk_webpack_1.runWebpackServer)(isWeinreEnabled)];
case 9:
_a.sent();
return [3 /*break*/, 15];
case 10: return [4 /*yield*/, (0, sdk_utils_1.confirmActiveBundler)()];
case 11:
resetCompleted = _a.sent();
if (!resetCompleted) return [3 /*break*/, 13];
(0, sdk_utils_1.waitForHost)('')
.then(function () { return (0, deviceManager_1.runTizenSimOrDevice)(); })
.catch(core_1.logError);
return [4 /*yield*/, (0, sdk_webpack_1.runWebpackServer)(isWeinreEnabled)];
case 12:
_a.sent();
return [3 /*break*/, 15];
case 13: return [4 /*yield*/, (0, deviceManager_1.runTizenSimOrDevice)()];
case 14:
_a.sent();
_a.label = 15;
case 15: return [2 /*return*/];
}
});
}); };
exports.runTizen = runTizen;
var buildTizenProject = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var c, platform, certProfile, tDir, tOut, tIntermediate, tBuild;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
c = (0, core_1.getContext)();
(0, core_1.logDefault)('buildTizenProject');
platform = c.platform;
if (!platform)
return [2 /*return*/];
certProfile = (0, core_1.getConfigProp)('certificateProfile') || core_1.DEFAULTS.certificateProfile;
tDir = (0, core_1.getPlatformProjectDir)();
return [4 /*yield*/, (0, sdk_webpack_1.buildCoreWebpackProject)()];
case 1:
_a.sent();
if (!!c.program.opts().hosted) return [3 /*break*/, 4];
_copyRequiredFiles();
tOut = path_1.default.join(tDir, 'output');
tIntermediate = path_1.default.join(tDir, 'intermediate');
tBuild = path_1.default.join(tDir, 'build');
return [4 /*yield*/, (0, core_1.execCLI)(constants_1.CLI_TIZEN, "build-web -- \"".concat(tBuild, "\" -out \"").concat(tIntermediate, "\""))];
case 2:
_a.sent();
return [4 /*yield*/, (0, core_1.execCLI)(constants_1.CLI_TIZEN, "package -- \"".concat(tIntermediate, "\" -s ").concat(certProfile, " -t wgt -o \"").concat(tOut, "\""))];
case 3:
_a.sent();
(0, core_1.logSuccess)("Your WGT package is located in ".concat((0, core_1.chalk)().cyan(tOut), " ."));
_a.label = 4;
case 4: return [2 /*return*/, true];
}
});
}); };
exports.buildTizenProject = buildTizenProject;
var _isGlobalConfigured = false;
var configureTizenProject = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var c;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
c = (0, core_1.getContext)();
(0, core_1.logDefault)('configureTizenProject');
c.runtime.platformBuildsProjectPath = "".concat((0, core_1.getPlatformProjectDir)());
if (!(0, core_1.isPlatformActive)()) {
return [2 /*return*/];
}
if (!(!_isGlobalConfigured && !c.program.opts().hosted)) return [3 /*break*/, 2];
_isGlobalConfigured = true;
return [4 /*yield*/, (0, exports.configureTizenGlobal)()];
case 1:
_a.sent();
_a.label = 2;
case 2: return [4 /*yield*/, (0, core_1.copyAssetsFolder)()];
case 3:
_a.sent();
return [4 /*yield*/, (0, sdk_webpack_1.configureCoreWebProject)()];
case 4:
_a.sent();
return [4 /*yield*/, _configureProject(c)];
case 5:
_a.sent();
return [2 /*return*/, (0, core_1.copyBuildsFolder)()];
}
});
}); };
exports.configureTizenProject = configureTizenProject;
var _configureProject = function (c) {
return new Promise(function (resolve) {
(0, core_1.logDefault)('_configureProject');
var platform = c.platform;
if (!platform)
return;
var configFile = 'config.xml';
// const p = c.buildConfig.platforms?.[platform];
var pkg = (0, core_1.getConfigProp)('package') || '';
var id = (0, core_1.getConfigProp)('id') || '';
var appName = (0, core_1.getConfigProp)('appName') || '';
var injects = [
{ pattern: '{{PACKAGE}}', override: pkg },
{ pattern: '{{ID}}', override: id },
{ pattern: '{{APP_NAME}}', override: appName },
{ pattern: '{{APP_VERSION}}', override: semver_1.default.valid(semver_1.default.coerce((0, sdk_utils_1.getAppVersion)())) || '' },
];
(0, sdk_utils_1.addSystemInjects)(injects);
var file = path_1.default.join((0, core_1.getPlatformProjectDir)(), configFile);
(0, core_1.writeCleanFile)(file, file, injects, undefined, c);
resolve();
});
};
//# sourceMappingURL=runner.js.map