@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,113 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.deployToS3 = void 0;
9
+
10
+ var _path = _interopRequireDefault(require("path"));
11
+
12
+ var _fs = _interopRequireDefault(require("fs"));
13
+
14
+ var _rnv = require("rnv");
15
+
16
+ var _resolveBaseUrl = require("../../../utils/resolveBaseUrl");
17
+
18
+ var aws = _interopRequireWildcard(require("./aws"));
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
+
26
+ 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); } }
27
+
28
+ 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); }); }; }
29
+
30
+ var getConfigProp = _rnv.Common.getConfigProp;
31
+
32
+ var uploadPackage = function uploadPackage(c, sourcePath, uploadPath) {
33
+ var packageOutputDirPath = "".concat(sourcePath, "/output");
34
+
35
+ var outputFilenameList = _fs["default"].readdirSync(packageOutputDirPath);
36
+
37
+ var packageFileName = outputFilenameList[0];
38
+ var packageLocalPath = "\"".concat(packageOutputDirPath, "/").concat(packageFileName, "\"");
39
+ var packageRemotePath = "\"".concat(uploadPath, "/build/").concat(packageFileName, "\"");
40
+ aws.cp(packageLocalPath, packageRemotePath);
41
+ };
42
+
43
+ var uploadPublicDir = function uploadPublicDir(sourcePath, uploadPath) {
44
+ var publicDirLocalPath = _path["default"].join(sourcePath, 'project', 'public');
45
+
46
+ var publicDirRemotePath = "".concat(uploadPath, "/public");
47
+ aws.cp(publicDirLocalPath, publicDirRemotePath);
48
+ };
49
+
50
+ var urlToS3Protocol = function urlToS3Protocol(url) {
51
+ var hostWithPath = url.split('://')[1];
52
+ var bucketHostnameAwsPostfix = '.s3.amazonaws.com';
53
+ return hostWithPath.replace(bucketHostnameAwsPostfix, '');
54
+ };
55
+
56
+ var deployToS3 = /*#__PURE__*/function () {
57
+ var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(c) {
58
+ var platform, runtime, sourcePath, _getConfigProp, isBuildHosted, baseUrl, uploadPath, sourceDirPath;
59
+
60
+ return regeneratorRuntime.wrap(function _callee$(_context) {
61
+ while (1) {
62
+ switch (_context.prev = _context.next) {
63
+ case 0:
64
+ platform = c.platform, runtime = c.runtime;
65
+ sourcePath = runtime.appDir;
66
+ _getConfigProp = getConfigProp(c, platform, 'webpackConfig', {}), isBuildHosted = _getConfigProp.isBuildHosted;
67
+ baseUrl = (0, _resolveBaseUrl.resolveBaseUrl)({
68
+ platform: platform,
69
+ scheme: runtime.scheme || '',
70
+ appConfigId: runtime.appId
71
+ });
72
+
73
+ if (baseUrl) {
74
+ _context.next = 6;
75
+ break;
76
+ }
77
+
78
+ return _context.abrupt("return", false);
79
+
80
+ case 6:
81
+ uploadPath = urlToS3Protocol(baseUrl);
82
+ aws.rm("".concat(uploadPath, "/"));
83
+ uploadPackage(c, sourcePath, uploadPath);
84
+
85
+ if (!(platform === 'hbbtv')) {
86
+ _context.next = 13;
87
+ break;
88
+ }
89
+
90
+ process.stdout.write("For ".concat(platform, " platform, only deploying built ZIP package is configured. Skipping deploying app content to AWS S3.\n"));
91
+ process.stdout.write('Deploy done.\n');
92
+ return _context.abrupt("return");
93
+
94
+ case 13:
95
+ sourceDirPath = isBuildHosted ? "".concat(sourcePath, "-public") : sourcePath;
96
+ uploadPublicDir(sourceDirPath, uploadPath);
97
+ process.stdout.write('Deploy done.\n');
98
+ return _context.abrupt("return", true);
99
+
100
+ case 17:
101
+ case "end":
102
+ return _context.stop();
103
+ }
104
+ }
105
+ }, _callee);
106
+ }));
107
+
108
+ return function deployToS3(_x) {
109
+ return _ref.apply(this, arguments);
110
+ };
111
+ }();
112
+
113
+ exports.deployToS3 = deployToS3;
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getHbbTVDeployUrl = exports.deployHbbTV = void 0;
7
+
8
+ var _path = _interopRequireDefault(require("path"));
9
+
10
+ var _fs = _interopRequireDefault(require("fs"));
11
+
12
+ var _rnv = require("rnv");
13
+
14
+ var _nodeSsh = require("node-ssh");
15
+
16
+ var _getBaseConfig = require("../../../utils/getBaseConfig");
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 getConfigProp = _rnv.Common.getConfigProp;
25
+ var deployConfig = {
26
+ host: 'nxg-bigscreen-test.24imedia.tv',
27
+ username: 'admin',
28
+ privateKeyRelativePath: 'certificates/id_rsa_24i_smartapps_bigscreen',
29
+ passphrase: '>>> please set the value via process.env.CI_SSH_KEY_PASSPHRASE <<<',
30
+ hostHomeDir: '/home/admin',
31
+ dockerHtmlRootDir: '/usr/share/nginx/html',
32
+ dockerContainerName: '24inginx'
33
+ };
34
+
35
+ var getSshKeyAbsolutePath = function getSshKeyAbsolutePath(c, sshKeyRelativePath) {
36
+ if (!sshKeyRelativePath) return '';
37
+ return _path["default"].join(c.paths.project.dir, sshKeyRelativePath);
38
+ };
39
+
40
+ var makeSshConnection = /*#__PURE__*/function () {
41
+ var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(c) {
42
+ var host, username, privateKeyRelativePath, privateKey, passphrase, ssh;
43
+ return regeneratorRuntime.wrap(function _callee$(_context) {
44
+ while (1) {
45
+ switch (_context.prev = _context.next) {
46
+ case 0:
47
+ host = deployConfig.host, username = deployConfig.username, privateKeyRelativePath = deployConfig.privateKeyRelativePath;
48
+ privateKey = getSshKeyAbsolutePath(c, privateKeyRelativePath);
49
+ passphrase = process.env.CI_SSH_KEY_PASSPHRASE;
50
+
51
+ if (!(!privateKey || !passphrase)) {
52
+ _context.next = 5;
53
+ break;
54
+ }
55
+
56
+ return _context.abrupt("return", null);
57
+
58
+ case 5:
59
+ ssh = new _nodeSsh.NodeSSH();
60
+ _context.next = 8;
61
+ return ssh.connect({
62
+ host: host,
63
+ username: username,
64
+ privateKey: privateKey,
65
+ passphrase: passphrase
66
+ });
67
+
68
+ case 8:
69
+ return _context.abrupt("return", ssh);
70
+
71
+ case 9:
72
+ case "end":
73
+ return _context.stop();
74
+ }
75
+ }
76
+ }, _callee);
77
+ }));
78
+
79
+ return function makeSshConnection(_x) {
80
+ return _ref.apply(this, arguments);
81
+ };
82
+ }();
83
+
84
+ var getBuildPackageFileName = function getBuildPackageFileName(c) {
85
+ var packageOutputDirPath = "".concat(c.runtime.appDir, "/output");
86
+
87
+ var outputFilenameList = _fs["default"].readdirSync(packageOutputDirPath);
88
+
89
+ return outputFilenameList[0];
90
+ };
91
+
92
+ var getLocalBuildPackagePath = function getLocalBuildPackagePath(c) {
93
+ var fileName = getBuildPackageFileName(c);
94
+ return _path["default"].join(c.runtime.appDir, 'output', fileName);
95
+ };
96
+
97
+ var getRemoteBuildDirRelativePath = function getRemoteBuildDirRelativePath(c) {
98
+ var scheme = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
99
+ var appConfigId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
100
+
101
+ var _getConfigProp = getConfigProp(c, 'hbbtv', 'deploy', {}),
102
+ projectDirName = _getConfigProp.projectDirName;
103
+
104
+ var appId = c.runtime.appId || appConfigId;
105
+ var version = getConfigProp(c, 'hbbtv', 'packageVersion', '');
106
+
107
+ if (!projectDirName || !appId) {
108
+ return '';
109
+ }
110
+
111
+ switch (c.runtime.scheme || scheme) {
112
+ case 'dev:latest':
113
+ return "".concat(projectDirName, "/").concat(appId, "/latest/dev");
114
+
115
+ case 'rc:latest':
116
+ return "".concat(projectDirName, "/").concat(appId, "/latest/rc");
117
+
118
+ case 'release:latest':
119
+ return "".concat(projectDirName, "/").concat(appId, "/latest/release");
120
+
121
+ case 'release:dist':
122
+ return "".concat(projectDirName, "/").concat(appId, "/dist/v").concat(version);
123
+
124
+ default:
125
+ return '';
126
+ }
127
+ };
128
+
129
+ var resolveRemotePaths = function resolveRemotePaths(c) {
130
+ var remoteBuildDirRelativePath = getRemoteBuildDirRelativePath(c);
131
+ var hostHomeDir = deployConfig.hostHomeDir,
132
+ dockerHtmlRootDir = deployConfig.dockerHtmlRootDir;
133
+ var hostTempDirName = 'travis-ci-temp';
134
+ return {
135
+ serverTempDirPath: "".concat(hostHomeDir, "/").concat(hostTempDirName, "/").concat(remoteBuildDirRelativePath),
136
+ dockerProjectDirPath: "".concat(dockerHtmlRootDir, "/").concat(remoteBuildDirRelativePath)
137
+ };
138
+ };
139
+
140
+ var log = function log(msg) {
141
+ return process.stdout.write(msg);
142
+ };
143
+
144
+ var getHbbTVDeployUrl = function getHbbTVDeployUrl() {
145
+ var c = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _getBaseConfig.getBaseConfig)();
146
+ var scheme = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
147
+ var appConfigId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
148
+ var host = deployConfig.host;
149
+ return "http://".concat(host, "/").concat(getRemoteBuildDirRelativePath(c, scheme, appConfigId), "/public/index.html");
150
+ };
151
+
152
+ exports.getHbbTVDeployUrl = getHbbTVDeployUrl;
153
+
154
+ var deployHbbTV = /*#__PURE__*/function () {
155
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(c) {
156
+ var remotePaths, dockerContainerName, host, remotePackagePath, dockerExecPrefix, dockerAppDirPath, ssh, indexHtmlParentDirPath;
157
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
158
+ while (1) {
159
+ switch (_context2.prev = _context2.next) {
160
+ case 0:
161
+ if (!(c.platform !== 'hbbtv')) {
162
+ _context2.next = 2;
163
+ break;
164
+ }
165
+
166
+ return _context2.abrupt("return");
167
+
168
+ case 2:
169
+ log('HbbTV deploy via SSH.\n\n');
170
+ remotePaths = resolveRemotePaths(c);
171
+ dockerContainerName = deployConfig.dockerContainerName, host = deployConfig.host;
172
+ remotePackagePath = "".concat(remotePaths.serverTempDirPath, "/").concat(getBuildPackageFileName(c));
173
+ dockerExecPrefix = "docker exec -t ".concat(dockerContainerName);
174
+ dockerAppDirPath = remotePaths.dockerProjectDirPath;
175
+ log('Creating connection...\n');
176
+ _context2.next = 11;
177
+ return makeSshConnection(c);
178
+
179
+ case 11:
180
+ ssh = _context2.sent;
181
+
182
+ if (!(ssh === null)) {
183
+ _context2.next = 14;
184
+ break;
185
+ }
186
+
187
+ throw new Error('Connection failed - check "privateKeyRelativePath" or "process.env.CI_SSH_KEY_PASSPHRASE" deploy params.');
188
+
189
+ case 14:
190
+ log('Clearing temporary dir on host side...\n');
191
+ _context2.next = 17;
192
+ return ssh.execCommand("rm -Rf ".concat(remotePaths.serverTempDirPath));
193
+
194
+ case 17:
195
+ log('Transferring build package from local machine to host...\n');
196
+ _context2.next = 20;
197
+ return ssh.putFile(getLocalBuildPackagePath(c), remotePackagePath);
198
+
199
+ case 20:
200
+ log('Unzipping transferred build package...\n');
201
+ _context2.next = 23;
202
+ return ssh.execCommand("unzip ".concat(remotePackagePath), {
203
+ cwd: remotePaths.serverTempDirPath
204
+ });
205
+
206
+ case 23:
207
+ log('Removing transferred build package...\n');
208
+ _context2.next = 26;
209
+ return ssh.execCommand("rm ".concat(remotePackagePath));
210
+
211
+ case 26:
212
+ log('Clearing docker dir on host side...\n');
213
+ _context2.next = 29;
214
+ return ssh.execCommand("".concat(dockerExecPrefix, " rm -rf ").concat(dockerAppDirPath));
215
+
216
+ case 29:
217
+ indexHtmlParentDirPath = "".concat(dockerAppDirPath, "/public");
218
+ log('Creating requested path for build in docker...\n');
219
+ _context2.next = 33;
220
+ return ssh.execCommand("".concat(dockerExecPrefix, " mkdir -p ").concat(indexHtmlParentDirPath));
221
+
222
+ case 33:
223
+ log('Copying unzipped build package from host to host\'s docker path...\n');
224
+ _context2.next = 36;
225
+ return ssh.execCommand("docker cp ".concat(remotePaths.serverTempDirPath, "/. ").concat(dockerContainerName, ":").concat(indexHtmlParentDirPath));
226
+
227
+ case 36:
228
+ log('Clearing temporary dir on host side...\n');
229
+ _context2.next = 39;
230
+ return ssh.execCommand("rm -Rf ".concat(remotePaths.serverTempDirPath));
231
+
232
+ case 39:
233
+ log("\nThe build is deployed at ".concat(getHbbTVDeployUrl(c), "\n"));
234
+ log('Deploy done.\n');
235
+ return _context2.abrupt("return", true);
236
+
237
+ case 42:
238
+ case "end":
239
+ return _context2.stop();
240
+ }
241
+ }
242
+ }, _callee2);
243
+ }));
244
+
245
+ return function deployHbbTV(_x2) {
246
+ return _ref2.apply(this, arguments);
247
+ };
248
+ }();
249
+
250
+ exports.deployHbbTV = deployHbbTV;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.engineTaskList = void 0;
7
+
8
+ var _taskRnv = _interopRequireDefault(require("./task.rnv.build"));
9
+
10
+ var _taskRnv2 = _interopRequireDefault(require("./task.rnv.configure"));
11
+
12
+ var _taskRnv3 = _interopRequireDefault(require("./task.rnv.deploy"));
13
+
14
+ var _taskRnv4 = _interopRequireDefault(require("./task.rnv.package"));
15
+
16
+ var _taskRnv5 = _interopRequireDefault(require("./task.rnv.start"));
17
+
18
+ var _taskRnvProject = _interopRequireDefault(require("./task.rnv.project.configure"));
19
+
20
+ var _taskRnv6 = _interopRequireDefault(require("./task.rnv.configureSoft"));
21
+
22
+ var _taskRnvHooks = _interopRequireDefault(require("./task.rnv.hooks.run"));
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
+
26
+ var engineTaskList = [_taskRnv["default"], _taskRnv2["default"], _taskRnv3["default"], _taskRnv4["default"], _taskRnv5["default"], _taskRnvProject["default"], _taskRnv6["default"], _taskRnvHooks["default"]];
27
+ exports.engineTaskList = engineTaskList;
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.taskRnvBuild = void 0;
7
+
8
+ var _child_process = require("child_process");
9
+
10
+ var _fs = _interopRequireDefault(require("fs"));
11
+
12
+ var _rnv = require("rnv");
13
+
14
+ var _common = require("rnv/dist/core/common");
15
+
16
+ var _enginePlatforms = require("../enginePlatforms");
17
+
18
+ var _sdks = require("../sdks");
19
+
20
+ var _resolveBuildVersion = require("../utils/resolveBuildVersion");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
24
+ 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); } }
25
+
26
+ 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); }); }; }
27
+
28
+ var logErrorPlatform = _rnv.PlatformManager.logErrorPlatform;
29
+ var logTask = _rnv.Logger.logTask;
30
+ var buildWeb = _sdks.SDKWebpack.buildWeb;
31
+ var buildTizenProject = _sdks.SDKTizen.buildTizenProject;
32
+ var buildWebOSProject = _sdks.SDKWebos.buildWebOSProject;
33
+ var executeOrSkipTask = _rnv.TaskManager.executeOrSkipTask;
34
+ var TASK_BUILD = _rnv.Constants.TASK_BUILD,
35
+ TASK_PACKAGE = _rnv.Constants.TASK_PACKAGE,
36
+ PARAMS = _rnv.Constants.PARAMS;
37
+
38
+ var makeZipOutput = function makeZipOutput(c) {
39
+ var platformBuildDir = (0, _common.getPlatformBuildDir)(c);
40
+ var copiedProjectBuildDir = "".concat(platformBuildDir, "/build");
41
+ var defaultZipFileName = "".concat(c.platform, "_").concat(c.runtime.appId, ".zip");
42
+ var fileName = makeBuildName(c) || defaultZipFileName;
43
+ (0, _child_process.execSync)("cp -r ".concat((0, _common.getPlatformProjectDir)(c), "/public ").concat(copiedProjectBuildDir));
44
+ (0, _child_process.execSync)("rm -rf ".concat(platformBuildDir, "/output"));
45
+ (0, _child_process.execSync)("mkdir ".concat(platformBuildDir, "/output"));
46
+ (0, _child_process.execSync)("zip -r ../output/".concat(fileName, " *"), {
47
+ cwd: copiedProjectBuildDir
48
+ });
49
+ (0, _child_process.execSync)("rm -rf ".concat(copiedProjectBuildDir));
50
+ };
51
+
52
+ var getPackageExtensionByPlatform = function getPackageExtensionByPlatform() {
53
+ var platform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
54
+
55
+ switch (platform) {
56
+ case 'tizen':
57
+ return 'wgt';
58
+
59
+ case 'webos':
60
+ return 'ipk';
61
+
62
+ default:
63
+ return 'zip';
64
+ }
65
+ };
66
+
67
+ var getBuildVersionForFileName = function getBuildVersionForFileName(c) {
68
+ var platform = c.platform,
69
+ runtime = c.runtime;
70
+ var scheme = runtime.scheme,
71
+ appId = runtime.appId;
72
+
73
+ switch (c.runtime.scheme) {
74
+ case 'dev:latest':
75
+ return 'latest.dev';
76
+
77
+ case 'rc:latest':
78
+ return 'latest.rc';
79
+
80
+ case 'release:latest':
81
+ return 'latest.release';
82
+
83
+ default:
84
+ return (0, _resolveBuildVersion.resolveBuildVersion)({
85
+ platform: platform,
86
+ scheme: scheme,
87
+ appConfigId: appId
88
+ });
89
+ }
90
+ };
91
+
92
+ var makeBuildName = function makeBuildName(c) {
93
+ var platformName = c.platform;
94
+ var appNameInFileName = (0, _common.getConfigProp)(c, platformName, 'appNameInFileName', '');
95
+ var buildVersion = getBuildVersionForFileName(c);
96
+ var appConfigId = c.runtime.appId || '';
97
+ var extension = getPackageExtensionByPlatform(platformName);
98
+ return "".concat(appNameInFileName, "_").concat(platformName, "_").concat(buildVersion, "_").concat(appConfigId, ".").concat(extension);
99
+ };
100
+
101
+ var renameOutput = function renameOutput(c) {
102
+ var packageOutputDirPath = "".concat(c.runtime.appDir, "/output");
103
+ if (!_fs["default"].existsSync(packageOutputDirPath)) return;
104
+
105
+ var outputFilenameList = _fs["default"].readdirSync(packageOutputDirPath);
106
+
107
+ var packageFileName = outputFilenameList[0];
108
+ var newFilename = makeBuildName(c);
109
+
110
+ if (newFilename) {
111
+ var oldPath = "".concat(packageOutputDirPath, "/").concat(packageFileName);
112
+ var newPath = "".concat(packageOutputDirPath, "/").concat(newFilename);
113
+
114
+ _fs["default"].renameSync(oldPath, newPath);
115
+ }
116
+ };
117
+
118
+ var taskRnvBuild = /*#__PURE__*/function () {
119
+ var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(c, parentTask, originTask) {
120
+ var platform;
121
+ return regeneratorRuntime.wrap(function _callee$(_context) {
122
+ while (1) {
123
+ switch (_context.prev = _context.next) {
124
+ case 0:
125
+ logTask('taskRnvBuild', "parent:".concat(parentTask));
126
+ platform = c.platform;
127
+ c.runtime.forceBundleAssets = true;
128
+ _context.next = 5;
129
+ return (0, _sdks.handlePlatformSdk)(c);
130
+
131
+ case 5:
132
+ _context.next = 7;
133
+ return executeOrSkipTask(c, TASK_PACKAGE, TASK_BUILD, originTask);
134
+
135
+ case 7:
136
+ _context.t0 = platform;
137
+ _context.next = _context.t0 === _enginePlatforms.enginePlatforms.ENTONE ? 10 : _context.t0 === _enginePlatforms.enginePlatforms.HBBTV ? 10 : _context.t0 === _enginePlatforms.enginePlatforms.WEBTV ? 10 : _context.t0 === _enginePlatforms.enginePlatforms.TIZEN ? 14 : _context.t0 === _enginePlatforms.enginePlatforms.WEBOS ? 18 : 22;
138
+ break;
139
+
140
+ case 10:
141
+ _context.next = 12;
142
+ return buildWeb(c);
143
+
144
+ case 12:
145
+ makeZipOutput(c);
146
+ return _context.abrupt("return");
147
+
148
+ case 14:
149
+ _context.next = 16;
150
+ return buildTizenProject(c, platform);
151
+
152
+ case 16:
153
+ renameOutput(c);
154
+ return _context.abrupt("return");
155
+
156
+ case 18:
157
+ _context.next = 20;
158
+ return buildWebOSProject(c, platform);
159
+
160
+ case 20:
161
+ renameOutput(c);
162
+ return _context.abrupt("return");
163
+
164
+ case 22:
165
+ logErrorPlatform(c);
166
+
167
+ case 23:
168
+ case "end":
169
+ return _context.stop();
170
+ }
171
+ }
172
+ }, _callee);
173
+ }));
174
+
175
+ return function taskRnvBuild(_x, _x2, _x3) {
176
+ return _ref.apply(this, arguments);
177
+ };
178
+ }();
179
+
180
+ exports.taskRnvBuild = taskRnvBuild;
181
+ var _default = {
182
+ description: 'Build project binary',
183
+ fn: taskRnvBuild,
184
+ task: 'build',
185
+ params: PARAMS.withBase(PARAMS.withConfigure()),
186
+ platforms: _enginePlatforms.enginePlatformList
187
+ };
188
+ exports["default"] = _default;
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.taskRnvConfigure = void 0;
7
+
8
+ var _rnv = require("rnv");
9
+
10
+ var _generateSvgSpritemap = require("@24i/smartapps-bigscreen-icon/hooks/generateSvgSpritemap");
11
+
12
+ var _enginePlatforms = require("../enginePlatforms");
13
+
14
+ var _sdks = require("../sdks");
15
+
16
+ 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); } }
17
+
18
+ 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); }); }; }
19
+
20
+ var logErrorPlatform = _rnv.PlatformManager.logErrorPlatform,
21
+ copySharedPlatforms = _rnv.PlatformManager.copySharedPlatforms;
22
+ var logTask = _rnv.Logger.logTask;
23
+ var TASK_PLATFORM_CONFIGURE = _rnv.Constants.TASK_PLATFORM_CONFIGURE,
24
+ TASK_CONFIGURE = _rnv.Constants.TASK_CONFIGURE,
25
+ PARAMS = _rnv.Constants.PARAMS;
26
+ var configureWebProject = _sdks.SDKWebpack.configureWebProject;
27
+ var configureTizenProject = _sdks.SDKTizen.configureTizenProject;
28
+ var configureWebOSProject = _sdks.SDKWebos.configureWebOSProject;
29
+ var executeTask = _rnv.TaskManager.executeTask;
30
+
31
+ var taskRnvConfigure = /*#__PURE__*/function () {
32
+ var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(c, parentTask, originTask) {
33
+ var _c$buildConfig, _c$buildConfig$common;
34
+
35
+ var generateSvgSpriteMapHook;
36
+ return regeneratorRuntime.wrap(function _callee$(_context) {
37
+ while (1) {
38
+ switch (_context.prev = _context.next) {
39
+ case 0:
40
+ logTask('taskRnvConfigure');
41
+ _context.next = 3;
42
+ return executeTask(c, TASK_PLATFORM_CONFIGURE, TASK_CONFIGURE, originTask);
43
+
44
+ case 3:
45
+ _context.next = 5;
46
+ return copySharedPlatforms(c);
47
+
48
+ case 5:
49
+ generateSvgSpriteMapHook = (0, _generateSvgSpritemap.generateSvgSpriteMap)({
50
+ iconsFolder: '/icons',
51
+ // relative to project path
52
+ cssOutput: '../../platformAssets/runtime/icons.css',
53
+ // relative to build dir path
54
+ jsonOutput: '/icons.json',
55
+ // relative to platformAssets dir
56
+ maskList: ((_c$buildConfig = c.buildConfig) === null || _c$buildConfig === void 0 ? void 0 : (_c$buildConfig$common = _c$buildConfig.common) === null || _c$buildConfig$common === void 0 ? void 0 : _c$buildConfig$common.svgIconsMaskList) || []
57
+ });
58
+ _context.next = 8;
59
+ return generateSvgSpriteMapHook(c);
60
+
61
+ case 8:
62
+ if (!(c.program.only && !!parentTask)) {
63
+ _context.next = 10;
64
+ break;
65
+ }
66
+
67
+ return _context.abrupt("return", true);
68
+
69
+ case 10:
70
+ _context.t0 = c.platform;
71
+ _context.next = _context.t0 === _enginePlatforms.enginePlatforms.ENTONE ? 13 : _context.t0 === _enginePlatforms.enginePlatforms.HBBTV ? 13 : _context.t0 === _enginePlatforms.enginePlatforms.WEBTV ? 13 : _context.t0 === _enginePlatforms.enginePlatforms.TIZEN ? 14 : _context.t0 === _enginePlatforms.enginePlatforms.WEBOS ? 15 : 16;
72
+ break;
73
+
74
+ case 13:
75
+ return _context.abrupt("return", configureWebProject(c));
76
+
77
+ case 14:
78
+ return _context.abrupt("return", configureTizenProject(c));
79
+
80
+ case 15:
81
+ return _context.abrupt("return", configureWebOSProject(c));
82
+
83
+ case 16:
84
+ return _context.abrupt("return", logErrorPlatform(c));
85
+
86
+ case 17:
87
+ case "end":
88
+ return _context.stop();
89
+ }
90
+ }
91
+ }, _callee);
92
+ }));
93
+
94
+ return function taskRnvConfigure(_x, _x2, _x3) {
95
+ return _ref.apply(this, arguments);
96
+ };
97
+ }();
98
+
99
+ exports.taskRnvConfigure = taskRnvConfigure;
100
+ var _default = {
101
+ description: 'Configure current project',
102
+ fn: taskRnvConfigure,
103
+ task: 'configure',
104
+ params: PARAMS.withBase(PARAMS.withConfigure()),
105
+ platforms: _enginePlatforms.enginePlatformList
106
+ };
107
+ exports["default"] = _default;