@24i/smartapps-bigscreen-rnv-build-engine 0.17.6-alpha.19 → 0.17.6-alpha.3

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 (75) hide show
  1. package/README.md +12 -16
  2. package/dist/src/constants/delopyLivePlatforms.js +1 -2
  3. package/dist/src/constants/platforms.js +0 -2
  4. package/dist/src/engine.js +0 -10
  5. package/dist/src/resolvers/index.js +3 -8
  6. package/dist/src/resolvers/resolveBaseUrl.js +25 -16
  7. package/dist/src/resolvers/resolveDeployLocations.js +6 -3
  8. package/dist/src/resolvers/resolveGenericRnvConfig.js +2 -9
  9. package/dist/src/resolvers/{resolveProductionZipFileRelativePath.js → resolveProductionZipFilePath.js} +5 -4
  10. package/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +1 -25
  11. package/dist/src/scripts/{buildProductionPackagesAll.js → buildProductionAll.js} +15 -26
  12. package/dist/src/scripts/deployLivePlatform.js +1 -1
  13. package/dist/src/scripts/release/appCenter/deployProductionToAppCenter.js +98 -0
  14. package/dist/src/scripts/release/appCenter/deployToAppCenter.js +3 -3
  15. package/dist/src/scripts/release/notifySlack/notifySlack.js +8 -11
  16. package/dist/src/scripts/release/sentryRelease.js +5 -11
  17. package/dist/src/scripts/release/urlsMarkdown.js +0 -2
  18. package/dist/src/scripts/releaseAllWithScheme.js +3 -3
  19. package/dist/src/scripts/releaseProductionAll.js +13 -0
  20. package/dist/src/sdks/index.js +0 -1
  21. package/dist/src/sdks/sdk-androidtv/sdkAndroidtv.js +13 -35
  22. package/dist/src/sdks/sdk-tizen/sdkTizen.js +0 -2
  23. package/dist/src/sdks/sdk-webos/sdkWebos.js +0 -2
  24. package/dist/src/sdks/sdk-webpack/sdkWebpack.js +1 -10
  25. package/dist/src/tasks/deploy/aswS3/deployS3.js +11 -9
  26. package/dist/src/tasks/deploy/aswS3/distToLiveS3.js +5 -4
  27. package/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +1 -7
  28. package/dist/src/tasks/task.rnv.build.js +7 -26
  29. package/dist/src/tasks/task.rnv.configure.js +0 -2
  30. package/dist/src/tasks/task.rnv.deploy.js +1 -12
  31. package/dist/src/tasks/task.rnv.platform.configure.js +1 -33
  32. package/dist/src/tasks/task.rnv.start.js +0 -2
  33. package/dist/src/utils/forEachSupportedPlatformFlavour.js +5 -13
  34. package/dist/src/utils/zipBuildsByPlatforms.js +5 -8
  35. package/dist/templates/platforms/_shared/webpack.base.js +2 -2
  36. package/dist/templates/platforms/androidtv/project/amazoniap/build.gradle +2 -2
  37. package/dist/templates/platforms/androidtv/project/app/build.gradle +21 -17
  38. package/dist/templates/platforms/androidtv/project/app/proguard-rules.pro +0 -15
  39. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/raw/configuration.json +2 -1
  40. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeFromJavaScript.kt +58 -4
  41. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeToJavaScript.kt +0 -15
  42. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/BridgeConfig.kt +1 -2
  43. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityModule.kt +3 -0
  44. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationModule.kt +2 -2
  45. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/PerActivity.kt +0 -0
  46. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryExoPlayerCustomized.kt +1 -7
  47. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SourceDrmOverridden.kt +0 -42
  48. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/jump/JumpAnalytics.kt +211 -0
  49. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/MediaEventType.kt +0 -3
  50. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/ContentModelParser.kt +16 -0
  51. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/DeviceInfoParser.kt +22 -0
  52. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/Mainview.kt +3 -0
  53. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/PlayerCache.kt +2 -2
  54. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/WebViewActivity.kt +83 -24
  55. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/viewmodel/WebViewModel.kt +111 -48
  56. package/dist/templates/platforms/androidtv/project/app/src/main/res/layout/activity_web_view.xml +71 -23
  57. package/dist/templates/platforms/androidtv/project/common/build.gradle +2 -2
  58. package/dist/templates/platforms/androidtv/project/googleiap/build.gradle +2 -2
  59. package/package.json +1 -3
  60. package/renative.engine.json +0 -2
  61. package/dist/src/constants/buildProductionPackages.js +0 -10
  62. package/dist/src/resolvers/resolveS3BucketAppPath.js +0 -15
  63. package/dist/src/resolvers/resolveSupportedFlavoursForPlatform.js +0 -8
  64. package/dist/src/resolvers/shared/constructFullUrl.js +0 -25
  65. package/dist/src/scripts/buildAllWithSchemes.js +0 -88
  66. package/dist/src/scripts/release/appCenter/deployProductionPackagesToAppCenter.js +0 -127
  67. package/dist/src/scripts/releaseAllWithSchemes.js +0 -158
  68. package/dist/src/scripts/releaseProductionPackagesAll.js +0 -13
  69. package/dist/src/utils/copyTheoPlayerLibs.js +0 -48
  70. package/dist/src/utils/getSafeSchemeString.js +0 -7
  71. package/dist/src/utils/zipStagingProdBuildsByPlatforms.js +0 -114
  72. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryConfigured.kt +0 -33
  73. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryTheoPlayerCustomized.kt +0 -14
  74. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryVersion.kt +0 -27
  75. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/SourceParser.kt +0 -89
@@ -22,15 +22,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
26
  exports.handleAndroidTVSdk = exports.configureAndroidTVProject = exports.buildAndroidTVProject = void 0;
30
27
  const fs = __importStar(require("fs"));
31
28
  const path = __importStar(require("path"));
32
29
  const os = __importStar(require("os"));
33
- const ip_1 = __importDefault(require("ip"));
34
30
  const semver = __importStar(require("semver"));
35
31
  const child_process_1 = require("child_process");
36
32
  const rnv_1 = require("rnv");
@@ -39,7 +35,6 @@ const sdk_webpack_2 = require("../sdk-webpack");
39
35
  const sdk_utils_1 = require("../sdk-utils");
40
36
  const services_1 = require("../sdk-utils/sdk-installer/services");
41
37
  const resolvers_1 = require("../../resolvers");
42
- const copyTheoPlayerLibs_1 = require("../../utils/copyTheoPlayerLibs");
43
38
  const copyEnvironmentFolder_1 = require("../../utils/copyEnvironmentFolder");
44
39
  const constants_1 = require("../../constants");
45
40
  const flavourName = 'bigscreenAppstage';
@@ -144,8 +139,8 @@ const configureProject = (c) => {
144
139
  const versionCode = parseInt(`${major}${minor}${patch}00`, 10);
145
140
  const appId = rnv_1.Common.getConfigProp(c, c.platform, 'id', '');
146
141
  const minSdkVersion = rnv_1.Common.getConfigProp(c, c.platform, 'minSdkVersion', 21);
147
- const targetSdkVersion = rnv_1.Common.getConfigProp(c, c.platform, 'targetSdkVersion', 33);
148
- const compileSdkVersion = rnv_1.Common.getConfigProp(c, c.platform, 'compileSdkVersion', 33);
142
+ const targetSdkVersion = rnv_1.Common.getConfigProp(c, c.platform, 'targetSdkVersion', 31);
143
+ const compileSdkVersion = rnv_1.Common.getConfigProp(c, c.platform, 'compileSdkVersion', 31);
149
144
  const injects = [{
150
145
  pattern: '{{MIN_SDK_VERSION}}',
151
146
  override: minSdkVersion,
@@ -169,45 +164,29 @@ const configureProject = (c) => {
169
164
  rnv_1.FileUtils.writeCleanFile(buildGradleFilePath, buildGradleFilePath, injects, null, c);
170
165
  };
171
166
  const getHostedAppEntryUrl = (c) => {
172
- const { platform, runtime, program } = c;
173
- let baseUrl = '';
174
- if (program.productionPackagesHostedUrl) {
175
- baseUrl = (0, resolvers_1.resolveProductionPackagesBaseUrl)(c);
176
- }
177
- else {
178
- baseUrl = (0, resolvers_1.resolveBaseUrl)({
179
- platform,
180
- scheme: runtime.scheme || '',
181
- flavour: runtime.appId,
182
- });
183
- }
184
- if (baseUrl)
185
- return `${baseUrl}/public/index.html`;
186
- const localIp = program.debugIp ?? ip_1.default.address();
187
- const localPort = runtime.port ?? 8100;
188
- return `http://${localIp}:${localPort}/`;
167
+ const { platform, runtime } = c;
168
+ const baseUrl = (0, resolvers_1.resolveBaseUrl)({
169
+ platform,
170
+ scheme: runtime.scheme || '',
171
+ flavour: runtime.appId,
172
+ });
173
+ return `${baseUrl}/public/index.html`;
189
174
  };
190
175
  const configureEntryUrl = (c) => {
191
176
  rnv_1.Logger.logTask('configureEntryUrl');
192
- const buildGradleFileName = 'build.gradle';
193
- const buildGradleFilePath = path.join(rnv_1.Common.getPlatformProjectDir(c), 'app', buildGradleFileName);
194
177
  const entryUrl = getHostedAppEntryUrl(c);
195
- const theoLicense = process.env['THEO_LICENSE'] ??
196
- rnv_1.Common.getConfigProp(c, c.platform, 'theoLicense', '');
178
+ const configFileName = 'configuration.json';
197
179
  const injects = [{
198
180
  pattern: '{{APP_URL}}',
199
181
  override: entryUrl,
200
- }, {
201
- pattern: '{{THEO_LICENSE}}',
202
- override: theoLicense,
203
182
  }];
204
- rnv_1.Common.addSystemInjects(c, injects);
205
- rnv_1.FileUtils.writeCleanFile(buildGradleFilePath, buildGradleFilePath, injects, null, c);
183
+ const file = path.join(rnv_1.Common.getPlatformProjectDir(c), 'app/src', flavourName, 'res/raw', configFileName);
184
+ rnv_1.FileUtils.writeCleanFile(file, file, injects, null, c);
206
185
  };
207
186
  const configureAndroidTVProject = async (c) => {
208
187
  rnv_1.Logger.logTask('configureAndroidTVProject');
209
188
  c.runtime.platformBuildsProjectPath = rnv_1.Common.getPlatformProjectDir(c);
210
- const platform = c.platform;
189
+ const platform = constants_1.Platforms.ANDROIDTV;
211
190
  const resSubPath = `app/src/${flavourName}/res`;
212
191
  await rnv_1.ProjectManager.copyAssetsFolder(c, platform, resSubPath);
213
192
  (0, copyEnvironmentFolder_1.copyEnvFolderInProject)(c, resSubPath);
@@ -220,7 +199,6 @@ const configureAndroidTVProject = async (c) => {
220
199
  fs.chmodSync(gradlew, '755');
221
200
  await rnv_1.ProjectManager.copyBuildsFolder(c, platform);
222
201
  (0, copyEnvironmentFolder_1.copyEnvFolderInPublicConfig)(c);
223
- (0, copyTheoPlayerLibs_1.copyTheoPlayerLibs)(c);
224
202
  };
225
203
  exports.configureAndroidTVProject = configureAndroidTVProject;
226
204
  const configureAndroidProperties = async (c) => {
@@ -33,7 +33,6 @@ const rnv_1 = require("rnv");
33
33
  const sdk_webpack_1 = require("@rnv/sdk-webpack");
34
34
  const sdk_webpack_2 = require("../sdk-webpack");
35
35
  const sdk_utils_1 = require("../sdk-utils");
36
- const copyTheoPlayerLibs_1 = require("../../utils/copyTheoPlayerLibs");
37
36
  const copyEnvironmentFolder_1 = require("../../utils/copyEnvironmentFolder");
38
37
  const constants_1 = require("../../constants");
39
38
  const { createDevelopTizenCertificate, DEFAULT_CERTIFICATE_NAME, DEFAULT_SECURITY_PROFILE_NAME, } = rnv_1.SDKManager.Tizen;
@@ -94,7 +93,6 @@ const configureTizenProject = async (c) => {
94
93
  configureProject(c);
95
94
  await rnv_1.ProjectManager.copyBuildsFolder(c, platform);
96
95
  (0, copyEnvironmentFolder_1.copyEnvFolderInPublicConfig)(c);
97
- (0, copyTheoPlayerLibs_1.copyTheoPlayerLibs)(c);
98
96
  };
99
97
  exports.configureTizenProject = configureTizenProject;
100
98
  const handleLinuxKeyring = () => {
@@ -31,7 +31,6 @@ const rnv_1 = require("rnv");
31
31
  const sdk_webpack_1 = require("@rnv/sdk-webpack");
32
32
  const sdk_webpack_2 = require("../sdk-webpack");
33
33
  const sdk_utils_1 = require("../sdk-utils");
34
- const copyTheoPlayerLibs_1 = require("../../utils/copyTheoPlayerLibs");
35
34
  const copyEnvironmentFolder_1 = require("../../utils/copyEnvironmentFolder");
36
35
  const constants_1 = require("../../constants");
37
36
  const buildWebOSProject = async (c) => {
@@ -67,7 +66,6 @@ const configureWebOSProject = async (c) => {
67
66
  configureProject(c);
68
67
  await rnv_1.ProjectManager.copyBuildsFolder(c, platform);
69
68
  (0, copyEnvironmentFolder_1.copyEnvFolderInPublicConfig)(c);
70
- (0, copyTheoPlayerLibs_1.copyTheoPlayerLibs)(c);
71
69
  };
72
70
  exports.configureWebOSProject = configureWebOSProject;
73
71
  const sdkInstallerUUrl = 'https://s3.amazonaws.com/tools.nxg-bigscreen.24imedia.com/sdks/webos/ares_webos_builder_v1.10.4_multiplatform.zip';
@@ -8,8 +8,6 @@ const path_1 = __importDefault(require("path"));
8
8
  const ip_1 = __importDefault(require("ip"));
9
9
  const rnv_1 = require("rnv");
10
10
  const sdk_webpack_1 = require("@rnv/sdk-webpack");
11
- const resolvers_1 = require("../../resolvers");
12
- const copyTheoPlayerLibs_1 = require("../../utils/copyTheoPlayerLibs");
13
11
  const copyEnvironmentFolder_1 = require("../../utils/copyEnvironmentFolder");
14
12
  const configureWebProject = async (c) => {
15
13
  rnv_1.Logger.logTask('configureWebProject');
@@ -22,7 +20,6 @@ const configureWebProject = async (c) => {
22
20
  await (0, sdk_webpack_1.configureCoreWebProject)(c);
23
21
  await rnv_1.ProjectManager.copyBuildsFolder(c, platform);
24
22
  (0, copyEnvironmentFolder_1.copyEnvFolderInPublicConfig)(c);
25
- (0, copyTheoPlayerLibs_1.copyTheoPlayerLibs)(c);
26
23
  };
27
24
  exports.configureWebProject = configureWebProject;
28
25
  const getWebpackPath = () => {
@@ -54,13 +51,7 @@ const buildCoreWebpackProject = async (c) => {
54
51
  if (wp === '') {
55
52
  rnv_1.Logger.logWarning('Webpack not found. Will try to use globally installed one');
56
53
  }
57
- let hostedUrlVariable = '';
58
- if (c.program.productionPackagesHostedUrl) {
59
- hostedUrlVariable = `HOSTED_URL=${(0, resolvers_1.resolveProductionPackagesBaseUrl)(c)}`;
60
- }
61
- const envVars = [
62
- `PLATFORM=${platform}`, `NODE_ENV=${environment}`, debugVariables, hostedUrlVariable,
63
- ].filter(Boolean).join(' ');
54
+ const envVars = `PLATFORM=${platform} NODE_ENV=${environment} ${debugVariables}`;
64
55
  const wpConfigPath = `./platformBuilds/${appId}_${platform}/webpack.config.${configName}.js`;
65
56
  const wpCmd = `node ${wp} build --mode production --config ${wpConfigPath}`;
66
57
  await rnv_1.Exec.executeAsync(c, `npx cross-env ${envVars} ${wpCmd}`);
@@ -23,42 +23,44 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.deployToS3 = void 0;
26
+ exports.deployToS3 = exports.urlToS3Protocol = void 0;
27
27
  const path = __importStar(require("path"));
28
28
  const rnv_1 = require("rnv");
29
29
  const aws = __importStar(require("./aws"));
30
30
  const constants_1 = require("../../../constants");
31
31
  const resolvers_1 = require("../../../resolvers");
32
- const getSafeSchemeString_1 = require("../../../utils/getSafeSchemeString");
33
32
  const { getConfigProp } = rnv_1.Common;
34
33
  const uploadPackage = (c, sourcePath, uploadPath) => {
35
34
  const packageOutputDirPath = `${sourcePath}/output`;
36
35
  const packageFileName = (0, resolvers_1.resolveBuildFileName)(c);
37
36
  const packageLocalPath = `"${packageOutputDirPath}/${packageFileName}"`;
38
37
  const packageRemotePath = `"${uploadPath}/build/${packageFileName}"`;
39
- rnv_1.Logger.logDebug(`uploadPackage: src: ${packageLocalPath}, dest: ${packageRemotePath}`);
40
38
  aws.cp(packageLocalPath, packageRemotePath);
41
39
  };
42
40
  const uploadPublicDir = (sourcePath, uploadPath) => {
43
41
  const publicDirLocalPath = path.join(sourcePath, 'project', 'public');
44
42
  const publicDirRemotePath = `${uploadPath}/public`;
45
- rnv_1.Logger.logDebug(`uploadPublicDir: src: ${publicDirLocalPath}, dest: ${publicDirRemotePath}`);
46
43
  aws.cp(publicDirLocalPath, publicDirRemotePath);
47
44
  };
45
+ const urlToS3Protocol = (url) => {
46
+ const hostWithPath = url.split('://')[1];
47
+ const bucketHostnameAwsPostfix = '.s3.amazonaws.com';
48
+ return hostWithPath.replace(bucketHostnameAwsPostfix, '');
49
+ };
50
+ exports.urlToS3Protocol = urlToS3Protocol;
48
51
  const deployToS3 = async (c) => {
49
- rnv_1.Logger.logTask(`deployToS3`);
50
52
  const { platform, runtime } = c;
51
- const schemeDirName = c.program.schemeFolder ? (0, getSafeSchemeString_1.getSafeSchemeString)(runtime.scheme) : '';
52
- const sourcePath = path.join(c.paths.project.builds.dir, schemeDirName, `${runtime.appId}_${platform}`);
53
+ const sourcePath = runtime.appDir;
53
54
  const { isBuildHosted } = getConfigProp(c, platform, 'webpackConfig', {});
54
- const uploadPath = (0, resolvers_1.resolveS3BucketAppPath)({
55
+ const baseUrl = (0, resolvers_1.resolveBaseUrl)({
55
56
  platform,
56
57
  scheme: runtime.scheme || '',
57
58
  flavour: runtime.appId,
58
59
  });
59
- if (!uploadPath) {
60
+ if (!baseUrl) {
60
61
  return false;
61
62
  }
63
+ const uploadPath = urlToS3Protocol(baseUrl);
62
64
  aws.rm(`${uploadPath}/`);
63
65
  uploadPackage(c, sourcePath, uploadPath);
64
66
  if (platform === constants_1.Platforms.HBBTV) {
@@ -24,16 +24,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.checkAWSAuth = exports.checkDistVersionAvailability = exports.distToLiveS3 = void 0;
27
- const resolvers_1 = require("../../../resolvers");
27
+ const resolveBaseUrl_1 = require("../../../resolvers/resolveBaseUrl");
28
28
  const resolveGenericRnvConfig_1 = require("../../../resolvers/resolveGenericRnvConfig");
29
+ const deployS3_1 = require("./deployS3");
29
30
  const aws = __importStar(require("./aws"));
30
31
  const getUploadPath = (options, version) => {
31
32
  const { packageVersion } = (0, resolveGenericRnvConfig_1.getBaseConfig)().buildConfig?.common;
32
- const s3BucketAppPath = (0, resolvers_1.resolveS3BucketAppPath)(options);
33
- if (!s3BucketAppPath) {
33
+ const baseUrl = (0, resolveBaseUrl_1.resolveBaseUrl)(options);
34
+ if (!baseUrl) {
34
35
  return undefined;
35
36
  }
36
- return s3BucketAppPath.replace(packageVersion, version);
37
+ return (0, deployS3_1.urlToS3Protocol)(baseUrl).replace(packageVersion, version);
37
38
  };
38
39
  const checkAWSAuth = () => {
39
40
  try {
@@ -28,7 +28,6 @@ const path = __importStar(require("path"));
28
28
  const nodessh = __importStar(require("node-ssh"));
29
29
  const constants_1 = require("../../../constants");
30
30
  const resolvers_1 = require("../../../resolvers");
31
- const getSafeSchemeString_1 = require("../../../utils/getSafeSchemeString");
32
31
  const getSshKeyAbsolutePath = (c, sshKeyRelativePath) => {
33
32
  if (!sshKeyRelativePath)
34
33
  return '';
@@ -45,12 +44,7 @@ const makeSshConnection = async (c) => {
45
44
  await ssh.connect({ host, username, privateKey, passphrase });
46
45
  return ssh;
47
46
  };
48
- const getLocalBuildPackagePath = (c) => {
49
- const { runtime, platform } = c;
50
- const schemeDirName = c.program.schemeFolder ? (0, getSafeSchemeString_1.getSafeSchemeString)(runtime.scheme) : '';
51
- const appDirPath = path.join(c.paths.project.builds.dir, schemeDirName, `${runtime.appId}_${platform}`);
52
- return path.join(appDirPath, 'output', (0, resolvers_1.resolveBuildFileName)(c));
53
- };
47
+ const getLocalBuildPackagePath = (c) => (path.join(c.runtime.appDir, 'output', (0, resolvers_1.resolveBuildFileName)(c)));
54
48
  const resolveRemotePaths = (c) => {
55
49
  const { scheme, appId } = c.runtime;
56
50
  const remoteBuildDirRelativePath = (0, resolvers_1.resolveHbbtvRemoteBuildDirRelativePath)(c, scheme, appId);
@@ -25,39 +25,25 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.customRnvBuildTask = void 0;
27
27
  const child_process_1 = require("child_process");
28
- const path = __importStar(require("path"));
29
- const os = __importStar(require("os"));
30
28
  const fs = __importStar(require("fs"));
31
29
  const rnv_1 = require("rnv");
32
30
  const constants_1 = require("../constants");
33
31
  const sdks_1 = require("../sdks");
34
32
  const resolvers_1 = require("../resolvers");
35
33
  const { TASK_BUILD, TASK_PACKAGE, PARAMS } = rnv_1.Constants;
36
- const isWindows = os.platform() === 'win32';
37
- const PARAM_KEYS = {
38
- productionPackagesHostedUrl: {
39
- key: 'productionPackagesHostedUrl',
40
- description: 'Uses production package hosted URL of App',
41
- }
42
- };
43
34
  const makeZipOutput = (c) => {
44
35
  const platformBuildDir = rnv_1.Common.getPlatformBuildDir(c);
45
- const copiedProjectBuildDir = path.join(platformBuildDir, 'build');
36
+ const copiedProjectBuildDir = `${platformBuildDir}/build`;
46
37
  const defaultZipFileName = `${c.platform}_${c.runtime.appId}.zip`;
47
38
  const fileName = (0, resolvers_1.resolveBuildFileName)(c) || defaultZipFileName;
48
- (0, child_process_1.execSync)(`cp -r ${path.join(rnv_1.Common.getPlatformProjectDir(c), 'public')} ${copiedProjectBuildDir}`);
49
- (0, child_process_1.execSync)(`rm -rf ${path.join(platformBuildDir, 'output')}`);
50
- (0, child_process_1.execSync)(`mkdir ${path.join(platformBuildDir, 'output')}`);
51
- if (isWindows) {
52
- (0, child_process_1.execSync)(`tar -acf ${path.join('..', 'output', fileName)} *`, { cwd: copiedProjectBuildDir });
53
- }
54
- else {
55
- (0, child_process_1.execSync)(`zip -r ${path.join('..', 'output', fileName)} *`, { cwd: copiedProjectBuildDir });
56
- }
39
+ (0, child_process_1.execSync)(`cp -r ${rnv_1.Common.getPlatformProjectDir(c)}/public ${copiedProjectBuildDir}`);
40
+ (0, child_process_1.execSync)(`rm -rf ${platformBuildDir}/output`);
41
+ (0, child_process_1.execSync)(`mkdir ${platformBuildDir}/output`);
42
+ (0, child_process_1.execSync)(`zip -r ../output/${fileName} *`, { cwd: copiedProjectBuildDir });
57
43
  (0, child_process_1.execSync)(`rm -rf ${copiedProjectBuildDir}`);
58
44
  };
59
45
  const renameOutput = (c) => {
60
- const packageOutputDirPath = path.join(c.runtime.appDir, 'output');
46
+ const packageOutputDirPath = `${c.runtime.appDir}/output`;
61
47
  if (!fs.existsSync(packageOutputDirPath))
62
48
  return;
63
49
  const outputFilenameList = fs.readdirSync(packageOutputDirPath);
@@ -73,9 +59,6 @@ const buildFn = async (c, parentTask, originTask) => {
73
59
  rnv_1.Logger.logTask('taskRnvBuild', `parent:${parentTask}`);
74
60
  const { platform } = c;
75
61
  c.runtime.forceBundleAssets = true;
76
- if (c.program.rawArgs?.includes(`--${PARAM_KEYS.productionPackagesHostedUrl.key}`)) {
77
- c.program[PARAM_KEYS.productionPackagesHostedUrl.key] = true;
78
- }
79
62
  await (0, sdks_1.handlePlatformSdk)(c);
80
63
  await rnv_1.TaskManager.executeOrSkipTask(c, TASK_PACKAGE, TASK_BUILD, originTask);
81
64
  switch (platform) {
@@ -84,7 +67,6 @@ const buildFn = async (c, parentTask, originTask) => {
84
67
  case constants_1.Platforms.KREATV:
85
68
  case constants_1.Platforms.SAPHI:
86
69
  case constants_1.Platforms.VIDAA:
87
- case constants_1.Platforms.SMARTCAST:
88
70
  case constants_1.Platforms.WEBTV:
89
71
  await sdks_1.SDKWebpack.buildCoreWebpackProject(c);
90
72
  makeZipOutput(c);
@@ -101,7 +83,6 @@ const buildFn = async (c, parentTask, originTask) => {
101
83
  renameOutput(c);
102
84
  break;
103
85
  case constants_1.Platforms.ANDROIDTV:
104
- case constants_1.Platforms.FIRETV:
105
86
  await sdks_1.SDKAndroidtv.buildAndroidTVProject(c);
106
87
  break;
107
88
  default:
@@ -112,7 +93,7 @@ const customRnvBuildTask = {
112
93
  description: 'Build project binary',
113
94
  fn: buildFn,
114
95
  task: 'build',
115
- params: PARAMS.withBase(PARAMS.withConfigure([PARAM_KEYS.productionPackagesHostedUrl])),
96
+ params: PARAMS.withBase(PARAMS.withConfigure()),
116
97
  platforms: Object.values(constants_1.Platforms),
117
98
  };
118
99
  exports.customRnvBuildTask = customRnvBuildTask;
@@ -19,7 +19,6 @@ const configureFn = async (c, parentTask, originTask) => {
19
19
  case constants_1.Platforms.KREATV:
20
20
  case constants_1.Platforms.SAPHI:
21
21
  case constants_1.Platforms.VIDAA:
22
- case constants_1.Platforms.SMARTCAST:
23
22
  case constants_1.Platforms.WEBTV:
24
23
  case constants_1.Platforms.XBOX:
25
24
  await sdks_1.SDKWebpack.configureWebProject(c);
@@ -31,7 +30,6 @@ const configureFn = async (c, parentTask, originTask) => {
31
30
  await sdks_1.SDKWebos.configureWebOSProject(c);
32
31
  break;
33
32
  case constants_1.Platforms.ANDROIDTV:
34
- case constants_1.Platforms.FIRETV:
35
33
  await sdks_1.SDKAndroidtv.configureAndroidTVProject(c);
36
34
  break;
37
35
  default:
@@ -5,12 +5,6 @@ const rnv_1 = require("rnv");
5
5
  const constants_1 = require("../constants");
6
6
  const deployS3_1 = require("./deploy/aswS3/deployS3");
7
7
  const deployHbbtv_1 = require("./deploy/hbbtv/deployHbbtv");
8
- const PARAM_KEYS = {
9
- schemeFolder: {
10
- key: 'schemeFolder',
11
- description: 'Flag to use scheme folder in path of build',
12
- }
13
- };
14
8
  const { logErrorPlatform } = rnv_1.PlatformManager;
15
9
  const { logTask } = rnv_1.Logger;
16
10
  const { TASK_EXPORT, TASK_DEPLOY, PARAMS } = rnv_1.Constants;
@@ -18,9 +12,6 @@ const { executeOrSkipTask } = rnv_1.TaskManager;
18
12
  const deployFn = async (c, parentTask, originTask) => {
19
13
  logTask('taskRnvDeploy', `parent:${parentTask}`);
20
14
  await executeOrSkipTask(c, TASK_EXPORT, TASK_DEPLOY, originTask);
21
- if (c.program.rawArgs?.includes(`--${PARAM_KEYS.schemeFolder.key}`)) {
22
- c.program[PARAM_KEYS.schemeFolder.key] = true;
23
- }
24
15
  switch (c.platform) {
25
16
  case constants_1.Platforms.HBBTV:
26
17
  await (0, deployHbbtv_1.deployHbbTV)(c);
@@ -28,10 +19,8 @@ const deployFn = async (c, parentTask, originTask) => {
28
19
  break;
29
20
  case constants_1.Platforms.ANDROIDTV:
30
21
  case constants_1.Platforms.ENTONE:
31
- case constants_1.Platforms.FIRETV:
32
22
  case constants_1.Platforms.KREATV:
33
23
  case constants_1.Platforms.SAPHI:
34
- case constants_1.Platforms.SMARTCAST:
35
24
  case constants_1.Platforms.TIZEN:
36
25
  case constants_1.Platforms.VIDAA:
37
26
  case constants_1.Platforms.WEBOS:
@@ -47,7 +36,7 @@ const customRnvDeployTask = {
47
36
  description: 'Deploy the binary via selected deployment integration or build hook',
48
37
  fn: deployFn,
49
38
  task: 'deploy',
50
- params: PARAMS.withBase(PARAMS.withConfigure([PARAM_KEYS.schemeFolder])),
39
+ params: PARAMS.withBase(PARAMS.withConfigure()),
51
40
  platforms: Object.values(constants_1.Platforms),
52
41
  };
53
42
  exports.customRnvDeployTask = customRnvDeployTask;
@@ -1,30 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.customRnvPlatformConfigureTask = void 0;
27
- const path = __importStar(require("path"));
28
4
  const rnv_1 = require("rnv");
29
5
  const schemeParser_1 = require("rnv/dist/core/configManager/schemeParser");
30
6
  const packageParser_1 = require("rnv/dist/core/configManager/packageParser");
@@ -38,8 +14,7 @@ const taskRnvPlatformConfigure = async (c, parentTask, originTask) => {
38
14
  await rnv_1.TaskManager.executeTask(c, TASK_PROJECT_CONFIGURE, TASK_PLATFORM_CONFIGURE, originTask);
39
15
  await rnv_1.PlatformManager.isPlatformSupported(c);
40
16
  await (0, schemeParser_1.isBuildSchemeSupported)(c);
41
- if (platform === constants_1.Platforms.ANDROIDTV ||
42
- platform === constants_1.Platforms.FIRETV) {
17
+ if (platform === constants_1.Platforms.ANDROIDTV) {
43
18
  await (0, sdks_1.handlePlatformSdk)(c);
44
19
  }
45
20
  else {
@@ -59,13 +34,6 @@ const taskRnvPlatformConfigure = async (c, parentTask, originTask) => {
59
34
  await rnv_1.PlatformManager.cleanPlatformBuild(c, c.platform);
60
35
  }
61
36
  await rnv_1.PlatformManager.copySharedPlatforms(c);
62
- if (platform === constants_1.Platforms.FIRETV) {
63
- rnv_1.Logger.logInfo('We re-use AndroidTV template for FireTV platform!');
64
- const templatesDir = c.paths.project.platformTemplatesDirs[platform];
65
- const androidTvTemplateDir = path.join(templatesDir, constants_1.Platforms.ANDROIDTV);
66
- const fireTvTemplateDir = path.join(templatesDir, constants_1.Platforms.FIRETV);
67
- rnv_1.FileUtils.copyFolderContentsRecursiveSync(androidTvTemplateDir, fireTvTemplateDir);
68
- }
69
37
  await rnv_1.PlatformManager.createPlatformBuild(c, c.platform);
70
38
  await (0, packageParser_1.injectPlatformDependencies)(c);
71
39
  };
@@ -19,13 +19,11 @@ const startFn = async (c, parentTask, originTask) => {
19
19
  switch (platform) {
20
20
  case constants_1.Platforms.ANDROIDTV:
21
21
  case constants_1.Platforms.ENTONE:
22
- case constants_1.Platforms.FIRETV:
23
22
  case constants_1.Platforms.HBBTV:
24
23
  case constants_1.Platforms.KREATV:
25
24
  case constants_1.Platforms.SAPHI:
26
25
  case constants_1.Platforms.TIZEN:
27
26
  case constants_1.Platforms.VIDAA:
28
- case constants_1.Platforms.SMARTCAST:
29
27
  case constants_1.Platforms.WEBOS:
30
28
  case constants_1.Platforms.WEBTV:
31
29
  case constants_1.Platforms.XBOX:
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.forEachSupportedPlatformFlavour = exports.forEachPlatformFlavour = exports.getProgressMessage = void 0;
3
+ exports.forEachSupportedPlatformFlavour = exports.getProgressMessage = void 0;
4
4
  const resolvers_1 = require("../resolvers");
5
5
  const getProgressMessage = ({ schemes, schemeIndex, platforms, platformIndex, flavours, flavourIndex, }) => {
6
6
  const printScheme = schemes && schemes.length && schemeIndex !== undefined;
@@ -16,8 +16,8 @@ const getProgressMessage = ({ schemes, schemeIndex, platforms, platformIndex, fl
16
16
  return string;
17
17
  };
18
18
  exports.getProgressMessage = getProgressMessage;
19
- const _forEachPlatformFlavour = (platforms, c, cb, options = {}) => {
20
- const { ignoredPlatforms = [], schemes = [], schemeIndex = 0, } = options;
19
+ const forEachSupportedPlatformFlavour = (c, cb, options = {}) => {
20
+ const { ignoredPlatforms = [], schemes = [], schemeIndex = 0, disableProgressMessage = false, } = options;
21
21
  const processPlatformFlavours = (platform, platformIndex, platforms) => {
22
22
  if (ignoredPlatforms.includes(platform)) {
23
23
  console.log(`\nSkipping "${platforms[platformIndex]}" platform (${platformIndex + 1}/${platforms.length}).`);
@@ -30,17 +30,9 @@ const _forEachPlatformFlavour = (platforms, c, cb, options = {}) => {
30
30
  const { scheme } = c.runtime;
31
31
  return cb({ platform, flavour, scheme });
32
32
  };
33
- const supportedFlavours = (0, resolvers_1.resolveSupportedFlavoursForPlatform)(c, platform);
33
+ const { supportedFlavours = [] } = c.buildConfig.platforms[platform]?.deploy || {};
34
34
  supportedFlavours.forEach(processFlavour);
35
35
  };
36
- platforms.forEach(processPlatformFlavours);
37
- };
38
- const forEachSupportedPlatformFlavour = (c, cb, options = {}) => {
39
- const supportedPlatforms = (0, resolvers_1.resolveSupportedPlatforms)(c);
40
- _forEachPlatformFlavour(supportedPlatforms, c, cb, options);
36
+ (0, resolvers_1.resolveSupportedPlatforms)(c).forEach(processPlatformFlavours);
41
37
  };
42
38
  exports.forEachSupportedPlatformFlavour = forEachSupportedPlatformFlavour;
43
- const forEachPlatformFlavour = (platforms, c, cb) => {
44
- _forEachPlatformFlavour(platforms, c, cb);
45
- };
46
- exports.forEachPlatformFlavour = forEachPlatformFlavour;
@@ -24,18 +24,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.zipBuildsByPlatforms = void 0;
27
- const child_process_1 = require("child_process");
28
27
  const fs_1 = require("fs");
29
- const path = __importStar(require("path"));
28
+ const path_1 = require("path");
29
+ const child_process_1 = require("child_process");
30
30
  const glob = __importStar(require("glob"));
31
31
  const resolvers_1 = require("../resolvers");
32
- const getSafeSchemeString_1 = require("../utils/getSafeSchemeString");
33
32
  const zipDir = (srcDir, outputFile) => (0, child_process_1.execSync)(`zip ${outputFile} -0 -j ${srcDir}/*`);
34
33
  const getPlatformBuildsPaths = (c, platformName) => {
35
34
  const { platformBuildsDir } = c.buildConfig.paths;
36
- const schemeDirName = c.program.schemeFolder ? (0, getSafeSchemeString_1.getSafeSchemeString)(c.runtime.scheme) : '';
37
- const schemesBuildsPath = path.join(platformBuildsDir, schemeDirName);
38
- const outputGlob = `${schemesBuildsPath}/**/output`;
35
+ const outputGlob = `${platformBuildsDir}/**/output`;
39
36
  const platformBuildsGlob = `${outputGlob}/*.${(0, resolvers_1.resolveBuildFileExtension)(platformName)}`;
40
37
  try {
41
38
  const buildsPathsCandidates = glob.sync(platformBuildsGlob) || [];
@@ -50,10 +47,10 @@ const processPlatform = (c, platformName) => {
50
47
  if (platformBuildsPaths && platformBuildsPaths.length === 0)
51
48
  return;
52
49
  const outputZipFilePath = (0, resolvers_1.resolveZippedPlatformBuildsRelativeFilePath)(c, platformName);
53
- const tempPlatformDir = `${path.dirname(outputZipFilePath)}/${platformName}`;
50
+ const tempPlatformDir = `${(0, path_1.dirname)(outputZipFilePath)}/${platformName}`;
54
51
  (0, fs_1.mkdirSync)(tempPlatformDir, { recursive: true });
55
52
  const copyBuildFileIntoTempPlatformDir = (buildFilePath) => {
56
- const buildFileName = path.basename(buildFilePath);
53
+ const buildFileName = (0, path_1.basename)(buildFilePath);
57
54
  const dest = `${tempPlatformDir}/${buildFileName}`;
58
55
  (0, fs_1.copyFileSync)(buildFilePath, dest);
59
56
  };
@@ -125,13 +125,13 @@ function generateConfig(config) {
125
125
  scheme: config.scheme,
126
126
  flavour: config.appConfigId,
127
127
  };
128
- const { PLATFORM, HOSTED_URL } = process.env;
129
128
  const { buildConfig } = smartapps_bigscreen_rnv_build_engine_1.Resolvers.getBaseConfig();
130
129
  const buildVersion = smartapps_bigscreen_rnv_build_engine_1.Resolvers.resolveBuildVersion(platformSchemeAppIdObj);
131
- const baseUrl = HOSTED_URL || smartapps_bigscreen_rnv_build_engine_1.Resolvers.resolveBaseUrl(platformSchemeAppIdObj);
130
+ const baseUrl = smartapps_bigscreen_rnv_build_engine_1.Resolvers.resolveBaseUrl(platformSchemeAppIdObj);
132
131
  const packageVersions = smartapps_bigscreen_rnv_build_engine_1.Resolvers.resolvePackageVersions(projectDir);
133
132
  const devServerHost = config.devServerHost || '0.0.0.0';
134
133
  const isDevServer = appBuildEngineProjectDir.endsWith('/server');
134
+ const { PLATFORM } = process.env;
135
135
  const isBuildHosted = config.isBuildHosted || false;
136
136
  const appContentPath = getAppContentPath(baseUrl, isBuildHosted);
137
137
  const copiedDirWithPublicContentPath = path_1.default.join(appBuildDir, `../${path_1.default.parse(appBuildDir).name}-public`);
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
2
2
  apply plugin: 'kotlin-android'
3
3
 
4
4
  android {
5
- compileSdkVersion 33
5
+ compileSdkVersion 31
6
6
 
7
7
  compileOptions {
8
8
  sourceCompatibility JavaVersion.VERSION_1_8
@@ -11,7 +11,7 @@ android {
11
11
 
12
12
  defaultConfig {
13
13
  minSdkVersion 21
14
- targetSdkVersion 33
14
+ targetSdkVersion 30
15
15
 
16
16
  versionCode 1
17
17
  versionName "1.0"