@24i/smartapps-bigscreen-rnv-build-engine 0.0.2-alpha.1315

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +6 -0
  2. package/dist/src/enginePlatforms.js +18 -0
  3. package/dist/src/index.js +73 -0
  4. package/dist/src/scripts/buildAllWithScheme.js +35 -0
  5. package/dist/src/scripts/gitReleaser/afterVersionBump.js +32 -0
  6. package/dist/src/scripts/gitReleaser/beforeVersionBump.js +24 -0
  7. package/dist/src/scripts/gitReleaser/checkReleaseNotes.js +34 -0
  8. package/dist/src/scripts/gitReleaser/pushRelease.js +54 -0
  9. package/dist/src/scripts/gitReleaser/pushReleaseCandidate.js +11 -0
  10. package/dist/src/scripts/gitReleaser/pushReleaseNotes.js +75 -0
  11. package/dist/src/scripts/release/deleteSourceMaps.js +22 -0
  12. package/dist/src/scripts/release/deployToAppCenter.js +88 -0
  13. package/dist/src/scripts/release/githubRelease.js +152 -0
  14. package/dist/src/scripts/release/notifySlack/makePayload.js +148 -0
  15. package/dist/src/scripts/release/notifySlack/notifySlack.js +48 -0
  16. package/dist/src/scripts/release/notifySlack/slackBlockKitBuilder.js +68 -0
  17. package/dist/src/scripts/release/sentryRelease.js +103 -0
  18. package/dist/src/scripts/release/urlsMarkdown.js +118 -0
  19. package/dist/src/scripts/releaseAllWithScheme.js +106 -0
  20. package/dist/src/scripts/utils/cmdUtils.js +31 -0
  21. package/dist/src/scripts/utils/fsUtils.js +19 -0
  22. package/dist/src/scripts/utils/gitUtils.js +115 -0
  23. package/dist/src/scripts/utils/index.js +16 -0
  24. package/dist/src/scripts/utils/stringUtils.js +10 -0
  25. package/dist/src/sdks/index.js +69 -0
  26. package/dist/src/sdks/sdk-tizen/index.js +536 -0
  27. package/dist/src/sdks/sdk-webos/index.js +392 -0
  28. package/dist/src/sdks/sdk-webpack/index.js +107 -0
  29. package/dist/src/sdks/sdkUtils.js +74 -0
  30. package/dist/src/tasks/deploy/aswS3/aws.js +46 -0
  31. package/dist/src/tasks/deploy/aswS3/deployS3.js +113 -0
  32. package/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +250 -0
  33. package/dist/src/tasks/engineTasks.js +27 -0
  34. package/dist/src/tasks/task.rnv.build.js +188 -0
  35. package/dist/src/tasks/task.rnv.configure.js +107 -0
  36. package/dist/src/tasks/task.rnv.configureSoft.js +83 -0
  37. package/dist/src/tasks/task.rnv.deploy.js +80 -0
  38. package/dist/src/tasks/task.rnv.hooks.run.js +126 -0
  39. package/dist/src/tasks/task.rnv.package.js +66 -0
  40. package/dist/src/tasks/task.rnv.project.configure.js +269 -0
  41. package/dist/src/tasks/task.rnv.start.js +100 -0
  42. package/dist/src/utils/forEachSupportedPlatformFlavour.js +43 -0
  43. package/dist/src/utils/getBaseConfig.js +80 -0
  44. package/dist/src/utils/getDeployLocations.js +112 -0
  45. package/dist/src/utils/getVersionOffset.js +55 -0
  46. package/dist/src/utils/replaceRelevantStringsInConfig/index.js +13 -0
  47. package/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +48 -0
  48. package/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +91 -0
  49. package/dist/src/utils/resolveBaseUrl.js +56 -0
  50. package/dist/src/utils/resolveBuildVersion.js +61 -0
  51. package/dist/src/utils/zipBuildsByPlatforms.js +95 -0
  52. package/package.json +50 -0
@@ -0,0 +1,536 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleTizenSdk = exports.configureTizenProject = exports.buildTizenProject = exports.runTizen = exports.configureTizenGlobal = void 0;
7
+
8
+ var _path = _interopRequireDefault(require("path"));
9
+
10
+ var _semver = _interopRequireDefault(require("semver"));
11
+
12
+ var _os = _interopRequireDefault(require("os"));
13
+
14
+ var _fs = _interopRequireDefault(require("fs"));
15
+
16
+ var _rnv = require("rnv");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
21
+
22
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
23
+
24
+ var _require = require('child_process'),
25
+ spawnSync = _require.spawnSync,
26
+ execSync = _require.execSync;
27
+
28
+ var _require2 = require('../sdkUtils'),
29
+ installSdk = _require2.installSdk,
30
+ registerSdkPath = _require2.registerSdkPath;
31
+
32
+ var _require3 = require('rnv/dist/core/sdkManager/installer'),
33
+ checkAndConfigureTizenSdks = _require3.checkAndConfigureTizenSdks;
34
+
35
+ var execCLI = _rnv.Exec.execCLI;
36
+ var CLI_TIZEN = _rnv.Constants.CLI_TIZEN,
37
+ REMOTE_DEBUGGER_ENABLED_PLATFORMS = _rnv.Constants.REMOTE_DEBUGGER_ENABLED_PLATFORMS;
38
+ var getPlatformProjectDir = _rnv.Common.getPlatformProjectDir,
39
+ getAppVersion = _rnv.Common.getAppVersion,
40
+ getConfigProp = _rnv.Common.getConfigProp,
41
+ checkPortInUse = _rnv.Common.checkPortInUse,
42
+ confirmActiveBundler = _rnv.Common.confirmActiveBundler,
43
+ addSystemInjects = _rnv.Common.addSystemInjects;
44
+ var chalk = _rnv.Logger.chalk,
45
+ logTask = _rnv.Logger.logTask,
46
+ logDebug = _rnv.Logger.logDebug,
47
+ logError = _rnv.Logger.logError,
48
+ logSuccess = _rnv.Logger.logSuccess,
49
+ logWarning = _rnv.Logger.logWarning,
50
+ logInfo = _rnv.Logger.logInfo;
51
+ var isPlatformActive = _rnv.PlatformManager.isPlatformActive;
52
+ var writeCleanFile = _rnv.FileUtils.writeCleanFile,
53
+ fsExistsSync = _rnv.FileUtils.fsExistsSync;
54
+ var buildCoreWebpackProject = _rnv.WebpackUtils.buildCoreWebpackProject,
55
+ runWebpackServer = _rnv.WebpackUtils.runWebpackServer,
56
+ configureCoreWebProject = _rnv.WebpackUtils.configureCoreWebProject,
57
+ waitForWebpack = _rnv.WebpackUtils.waitForWebpack;
58
+ var copyAssetsFolder = _rnv.ProjectManager.copyAssetsFolder,
59
+ copyBuildsFolder = _rnv.ProjectManager.copyBuildsFolder;
60
+ var _SDKManager$Tizen = _rnv.SDKManager.Tizen,
61
+ runTizenSimOrDevice = _SDKManager$Tizen.runTizenSimOrDevice,
62
+ createDevelopTizenCertificate = _SDKManager$Tizen.createDevelopTizenCertificate,
63
+ DEFAULT_CERTIFICATE_NAME = _SDKManager$Tizen.DEFAULT_CERTIFICATE_NAME,
64
+ DEFAULT_SECURITY_PROFILE_NAME = _SDKManager$Tizen.DEFAULT_SECURITY_PROFILE_NAME;
65
+ var DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION = "".concat(DEFAULT_CERTIFICATE_NAME, ".p12");
66
+
67
+ var configureTizenGlobal = function configureTizenGlobal(c) {
68
+ return new Promise(function (resolve, reject) {
69
+ logTask('configureTizenGlobal'); // Check Tizen Cert
70
+
71
+ var tizenAuthorCert = _path["default"].join(c.paths.workspace.dir, DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION);
72
+
73
+ if (fsExistsSync(tizenAuthorCert)) {
74
+ logDebug("".concat(DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION, " file exists!"));
75
+ resolve();
76
+ } else {
77
+ logWarning("".concat(DEFAULT_CERTIFICATE_NAME_WITH_EXTENSION, " file missing! Creating one for you..."));
78
+ createDevelopTizenCertificate(c).then(function () {
79
+ return resolve();
80
+ })["catch"](function (e) {
81
+ return reject(e);
82
+ });
83
+ }
84
+ });
85
+ };
86
+
87
+ exports.configureTizenGlobal = configureTizenGlobal;
88
+
89
+ var _runTizenSimOrDevice = /*#__PURE__*/function () {
90
+ var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(c) {
91
+ return regeneratorRuntime.wrap(function _callee$(_context) {
92
+ while (1) {
93
+ switch (_context.prev = _context.next) {
94
+ case 0:
95
+ _context.prev = 0;
96
+ _context.next = 3;
97
+ return runTizenSimOrDevice(c);
98
+
99
+ case 3:
100
+ _context.next = 8;
101
+ break;
102
+
103
+ case 5:
104
+ _context.prev = 5;
105
+ _context.t0 = _context["catch"](0);
106
+ return _context.abrupt("return", Promise.reject(_context.t0));
107
+
108
+ case 8:
109
+ return _context.abrupt("return", true);
110
+
111
+ case 9:
112
+ case "end":
113
+ return _context.stop();
114
+ }
115
+ }
116
+ }, _callee, null, [[0, 5]]);
117
+ }));
118
+
119
+ return function _runTizenSimOrDevice(_x) {
120
+ return _ref.apply(this, arguments);
121
+ };
122
+ }();
123
+
124
+ var runTizen = /*#__PURE__*/function () {
125
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(c, target) {
126
+ var platform, hosted, isHosted, isPortActive, resetCompleted, bundleAssets, _isPortActive, isWeinreEnabled, _resetCompleted;
127
+
128
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
129
+ while (1) {
130
+ switch (_context2.prev = _context2.next) {
131
+ case 0:
132
+ logTask('runTizen', "target:".concat(target));
133
+ platform = c.platform;
134
+ hosted = c.program.hosted;
135
+ isHosted = hosted && !getConfigProp(c, platform, 'bundleAssets');
136
+
137
+ if (!isHosted) {
138
+ _context2.next = 13;
139
+ break;
140
+ }
141
+
142
+ _context2.next = 7;
143
+ return checkPortInUse(c, platform, c.runtime.port);
144
+
145
+ case 7:
146
+ isPortActive = _context2.sent;
147
+
148
+ if (!isPortActive) {
149
+ _context2.next = 13;
150
+ break;
151
+ }
152
+
153
+ _context2.next = 11;
154
+ return confirmActiveBundler(c);
155
+
156
+ case 11:
157
+ resetCompleted = _context2.sent;
158
+ c.runtime.skipActiveServerCheck = !resetCompleted;
159
+
160
+ case 13:
161
+ logTask('runTizen', "target:".concat(target, " hosted:").concat(!!isHosted));
162
+
163
+ if (!isHosted) {
164
+ _context2.next = 16;
165
+ break;
166
+ }
167
+
168
+ return _context2.abrupt("return");
169
+
170
+ case 16:
171
+ bundleAssets = getConfigProp(c, platform, 'bundleAssets') === true;
172
+
173
+ if (!bundleAssets) {
174
+ _context2.next = 24;
175
+ break;
176
+ }
177
+
178
+ _context2.next = 20;
179
+ return buildCoreWebpackProject(c);
180
+
181
+ case 20:
182
+ _context2.next = 22;
183
+ return _runTizenSimOrDevice(c);
184
+
185
+ case 22:
186
+ _context2.next = 46;
187
+ break;
188
+
189
+ case 24:
190
+ _context2.next = 26;
191
+ return checkPortInUse(c, platform, c.runtime.port);
192
+
193
+ case 26:
194
+ _isPortActive = _context2.sent;
195
+ isWeinreEnabled = REMOTE_DEBUGGER_ENABLED_PLATFORMS.includes(platform) && !bundleAssets && !hosted;
196
+
197
+ if (_isPortActive) {
198
+ _context2.next = 35;
199
+ break;
200
+ }
201
+
202
+ logInfo("Your ".concat(chalk().white(platform), " devServer at port ").concat(chalk().white(c.runtime.port), " is not running. Starting it up for you..."));
203
+ waitForWebpack(c).then(function () {
204
+ return _runTizenSimOrDevice(c);
205
+ })["catch"](logError);
206
+ _context2.next = 33;
207
+ return runWebpackServer(c, isWeinreEnabled);
208
+
209
+ case 33:
210
+ _context2.next = 46;
211
+ break;
212
+
213
+ case 35:
214
+ _context2.next = 37;
215
+ return confirmActiveBundler(c);
216
+
217
+ case 37:
218
+ _resetCompleted = _context2.sent;
219
+
220
+ if (!_resetCompleted) {
221
+ _context2.next = 44;
222
+ break;
223
+ }
224
+
225
+ waitForWebpack(c).then(function () {
226
+ return _runTizenSimOrDevice(c);
227
+ })["catch"](logError);
228
+ _context2.next = 42;
229
+ return runWebpackServer(c, isWeinreEnabled);
230
+
231
+ case 42:
232
+ _context2.next = 46;
233
+ break;
234
+
235
+ case 44:
236
+ _context2.next = 46;
237
+ return _runTizenSimOrDevice(c);
238
+
239
+ case 46:
240
+ case "end":
241
+ return _context2.stop();
242
+ }
243
+ }
244
+ }, _callee2);
245
+ }));
246
+
247
+ return function runTizen(_x2, _x3) {
248
+ return _ref2.apply(this, arguments);
249
+ };
250
+ }();
251
+
252
+ exports.runTizen = runTizen;
253
+
254
+ var buildTizenProject = /*#__PURE__*/function () {
255
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(c) {
256
+ var _platformConfig$certi, buildConfig, platform, platformConfig, projectDir, projectParentDir, tBuild, tOut, certProfile;
257
+
258
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
259
+ while (1) {
260
+ switch (_context3.prev = _context3.next) {
261
+ case 0:
262
+ logTask('buildTizenProject');
263
+ _context3.next = 3;
264
+ return buildCoreWebpackProject(c);
265
+
266
+ case 3:
267
+ if (c.program.hosted) {
268
+ _context3.next = 16;
269
+ break;
270
+ }
271
+
272
+ buildConfig = c.buildConfig, platform = c.platform;
273
+ platformConfig = buildConfig.platforms[platform];
274
+ projectDir = getPlatformProjectDir(c);
275
+ projectParentDir = _path["default"].join(projectDir, '..');
276
+ tBuild = _path["default"].join(projectParentDir, 'build');
277
+ tOut = _path["default"].join(projectParentDir, 'output');
278
+ certProfile = (_platformConfig$certi = platformConfig.certificateProfile) !== null && _platformConfig$certi !== void 0 ? _platformConfig$certi : DEFAULT_SECURITY_PROFILE_NAME;
279
+ _context3.next = 13;
280
+ return execCLI(c, CLI_TIZEN, "build-web -- ".concat(projectDir, " -out ").concat(tBuild));
281
+
282
+ case 13:
283
+ _context3.next = 15;
284
+ return execCLI(c, CLI_TIZEN, "package -- ".concat(tBuild, " -s ").concat(certProfile, " -t wgt -o ").concat(tOut));
285
+
286
+ case 15:
287
+ logSuccess("Your WGT package is located in ".concat(chalk().cyan(tOut), " ."));
288
+
289
+ case 16:
290
+ return _context3.abrupt("return", true);
291
+
292
+ case 17:
293
+ case "end":
294
+ return _context3.stop();
295
+ }
296
+ }
297
+ }, _callee3);
298
+ }));
299
+
300
+ return function buildTizenProject(_x4) {
301
+ return _ref3.apply(this, arguments);
302
+ };
303
+ }();
304
+
305
+ exports.buildTizenProject = buildTizenProject;
306
+ var _isGlobalConfigured = false;
307
+
308
+ var configureTizenProject = /*#__PURE__*/function () {
309
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(c) {
310
+ var platform;
311
+ return regeneratorRuntime.wrap(function _callee4$(_context4) {
312
+ while (1) {
313
+ switch (_context4.prev = _context4.next) {
314
+ case 0:
315
+ logTask('configureTizenProject');
316
+ platform = c.platform;
317
+ c.runtime.platformBuildsProjectPath = "".concat(getPlatformProjectDir(c));
318
+
319
+ if (isPlatformActive(c, platform)) {
320
+ _context4.next = 5;
321
+ break;
322
+ }
323
+
324
+ return _context4.abrupt("return");
325
+
326
+ case 5:
327
+ if (_isGlobalConfigured) {
328
+ _context4.next = 9;
329
+ break;
330
+ }
331
+
332
+ _isGlobalConfigured = true;
333
+ _context4.next = 9;
334
+ return configureTizenGlobal(c);
335
+
336
+ case 9:
337
+ _context4.next = 11;
338
+ return copyAssetsFolder(c, platform);
339
+
340
+ case 11:
341
+ _context4.next = 13;
342
+ return configureCoreWebProject(c);
343
+
344
+ case 13:
345
+ _context4.next = 15;
346
+ return _configureProject(c);
347
+
348
+ case 15:
349
+ return _context4.abrupt("return", copyBuildsFolder(c, platform));
350
+
351
+ case 16:
352
+ case "end":
353
+ return _context4.stop();
354
+ }
355
+ }
356
+ }, _callee4);
357
+ }));
358
+
359
+ return function configureTizenProject(_x5) {
360
+ return _ref4.apply(this, arguments);
361
+ };
362
+ }();
363
+
364
+ exports.configureTizenProject = configureTizenProject;
365
+
366
+ var _configureProject = function _configureProject(c) {
367
+ return new Promise(function (resolve) {
368
+ logTask('_configureProject');
369
+ var platform = c.platform;
370
+ var configFile = 'config.xml';
371
+ var p = c.buildConfig.platforms[platform];
372
+ var injects = [{
373
+ pattern: '{{PACKAGE}}',
374
+ override: p["package"]
375
+ }, {
376
+ pattern: '{{ID}}',
377
+ override: p.id
378
+ }, {
379
+ pattern: '{{APP_NAME}}',
380
+ override: p.appName
381
+ }, {
382
+ pattern: '{{APP_VERSION}}',
383
+ override: _semver["default"].coerce(getAppVersion(c, platform))
384
+ }];
385
+ addSystemInjects(c, injects);
386
+
387
+ var file = _path["default"].join(getPlatformProjectDir(c), configFile);
388
+
389
+ writeCleanFile(file, file, injects, null, c);
390
+ resolve();
391
+ });
392
+ };
393
+
394
+ var handleLinuxKeyring = function handleLinuxKeyring() {
395
+ if (process.env.CI && _os["default"].platform() === 'linux') {
396
+ var options = {
397
+ stdio: 'inherit'
398
+ };
399
+ execSync('eval $(dbus-launch --sh-syntax)', options);
400
+ execSync('mkdir -p ~/.cache', options);
401
+ execSync('mkdir -p ~/.local/share/keyrings', options);
402
+ execSync('eval "$(printf \'\\n\' | gnome-keyring-daemon --unlock)"', options);
403
+ execSync('eval "$(printf \'\\n\' | /usr/bin/gnome-keyring-daemon --start)"', options);
404
+ }
405
+ };
406
+
407
+ var setTizenCertificate = function setTizenCertificate(c) {
408
+ var _process$env = process.env,
409
+ _process$env$TIZEN_SE = _process$env.TIZEN_SECURITY_PROFILE_NAME,
410
+ TIZEN_SECURITY_PROFILE_NAME = _process$env$TIZEN_SE === void 0 ? '24i-SmartApps-BigScreen' : _process$env$TIZEN_SE,
411
+ _process$env$TIZEN_AU = _process$env.TIZEN_AUTHOR_CERTIFICATE_RELATIVE_PATH,
412
+ TIZEN_AUTHOR_CERTIFICATE_RELATIVE_PATH = _process$env$TIZEN_AU === void 0 ? 'certificates/24i_smartapps_bigscreen_author.p12' : _process$env$TIZEN_AU,
413
+ TIZEN_AUTHOR_CERTIFICATE_PASSWORD = _process$env.TIZEN_AUTHOR_CERTIFICATE_PASSWORD;
414
+ var tizenCliPath = c.cli.tizen;
415
+
416
+ if (!_fs["default"].existsSync(TIZEN_AUTHOR_CERTIFICATE_RELATIVE_PATH)) {
417
+ console.log("'process.env.TIZEN_AUTHOR_CERTIFICATE_RELATIVE_PATH' points to not existing location: ".concat(TIZEN_AUTHOR_CERTIFICATE_RELATIVE_PATH));
418
+ return false;
419
+ }
420
+
421
+ if (!TIZEN_AUTHOR_CERTIFICATE_PASSWORD) {
422
+ console.log("'process.env.TIZEN_AUTHOR_CERTIFICATE_PASSWORD' password is not set");
423
+ return false;
424
+ }
425
+
426
+ if (!tizenCliPath) {
427
+ console.log("'c.cli.tizen' is not set");
428
+ return false;
429
+ }
430
+
431
+ var spawnSyncReturn = spawnSync(tizenCliPath, ['security-profiles', 'add', '-n', TIZEN_SECURITY_PROFILE_NAME, '-a', TIZEN_AUTHOR_CERTIFICATE_RELATIVE_PATH, '-p', TIZEN_AUTHOR_CERTIFICATE_PASSWORD]);
432
+ if (spawnSyncReturn.error) throw spawnSyncReturn.error;
433
+
434
+ if (spawnSyncReturn.stdout.toString().includes('Invalid file or password')) {
435
+ throw spawnSyncReturn.stdout.toString();
436
+ }
437
+
438
+ process.stdout.write(spawnSyncReturn.stdout || '');
439
+ var rnvWorkspaceConfigPath = c.paths.workspace.config;
440
+ var customObjectToMerge = {
441
+ platforms: {
442
+ tizen: {
443
+ certificateProfile: TIZEN_SECURITY_PROFILE_NAME
444
+ }
445
+ }
446
+ };
447
+
448
+ _rnv.FileUtils.updateObjectSync(rnvWorkspaceConfigPath, customObjectToMerge);
449
+
450
+ Object.assign(c.buildConfig, customObjectToMerge);
451
+ return true;
452
+ };
453
+
454
+ var getSdkInstallerUrl = function getSdkInstallerUrl() {
455
+ switch (_os["default"].platform()) {
456
+ case 'darwin':
457
+ return 'https://s3.amazonaws.com/tools.nxg-bigscreen.24imedia.com/sdks/tizen/tizen_builder_v3.7_mac.zip';
458
+
459
+ case 'linux':
460
+ return 'https://s3.amazonaws.com/tools.nxg-bigscreen.24imedia.com/sdks/tizen/tizen_builder_v3.7_ubuntu.zip';
461
+
462
+ default:
463
+ return '';
464
+ }
465
+ };
466
+
467
+ var handleTizenSdk = /*#__PURE__*/function () {
468
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(c) {
469
+ var _c$buildConfig;
470
+
471
+ var _process$env$TIZEN_SD, TIZEN_SDK_INSTALLER_URL, _ref6, TIZEN_SDK, installPath, rnvSdkKey, sdkInstalledToPath;
472
+
473
+ return regeneratorRuntime.wrap(function _callee5$(_context5) {
474
+ while (1) {
475
+ switch (_context5.prev = _context5.next) {
476
+ case 0:
477
+ _process$env$TIZEN_SD = process.env.TIZEN_SDK_INSTALLER_URL, TIZEN_SDK_INSTALLER_URL = _process$env$TIZEN_SD === void 0 ? getSdkInstallerUrl() : _process$env$TIZEN_SD;
478
+ _ref6 = ((_c$buildConfig = c.buildConfig) === null || _c$buildConfig === void 0 ? void 0 : _c$buildConfig.sdks) || {}, TIZEN_SDK = _ref6.TIZEN_SDK;
479
+ installPath = "".concat(_os["default"].homedir(), "/tizen-studio");
480
+ rnvSdkKey = 'TIZEN_SDK';
481
+
482
+ if (TIZEN_SDK) {
483
+ _context5.next = 17;
484
+ break;
485
+ }
486
+
487
+ handleLinuxKeyring(); // needed to work with Tizen certificate passwords
488
+
489
+ if (!_fs["default"].existsSync(installPath)) {
490
+ _context5.next = 11;
491
+ break;
492
+ }
493
+
494
+ _context5.next = 9;
495
+ return registerSdkPath(c, rnvSdkKey, installPath);
496
+
497
+ case 9:
498
+ _context5.next = 17;
499
+ break;
500
+
501
+ case 11:
502
+ _context5.next = 13;
503
+ return installSdk(TIZEN_SDK_INSTALLER_URL, installPath);
504
+
505
+ case 13:
506
+ sdkInstalledToPath = _context5.sent;
507
+
508
+ if (!sdkInstalledToPath) {
509
+ _context5.next = 17;
510
+ break;
511
+ }
512
+
513
+ _context5.next = 17;
514
+ return registerSdkPath(c, rnvSdkKey, sdkInstalledToPath);
515
+
516
+ case 17:
517
+ _context5.next = 19;
518
+ return checkAndConfigureTizenSdks(c);
519
+
520
+ case 19:
521
+ setTizenCertificate(c);
522
+
523
+ case 20:
524
+ case "end":
525
+ return _context5.stop();
526
+ }
527
+ }
528
+ }, _callee5);
529
+ }));
530
+
531
+ return function handleTizenSdk(_x6) {
532
+ return _ref5.apply(this, arguments);
533
+ };
534
+ }();
535
+
536
+ exports.handleTizenSdk = handleTizenSdk;