@24i/smartapps-bigscreen-rnv-build-engine 0.17.2-alpha.2155 → 0.17.2-alpha.2156

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.
@@ -37,6 +37,8 @@ const SDKXbox = __importStar(require("./sdk-xbox"));
37
37
  exports.SDKXbox = SDKXbox;
38
38
  const handlePlatformSdk = async (c) => {
39
39
  switch (c.platform) {
40
+ case constants_1.Platforms.ANDROIDTV:
41
+ return SDKAndroidtv.handleAndroidTVSdk(c);
40
42
  case constants_1.Platforms.TIZEN:
41
43
  return SDKTizen.handleTizenSdk(c);
42
44
  case constants_1.Platforms.WEBOS:
@@ -23,11 +23,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.configureAndroidTVProject = void 0;
26
+ exports.handleAndroidTVSdk = exports.configureAndroidTVProject = void 0;
27
27
  const fs = __importStar(require("fs"));
28
28
  const path = __importStar(require("path"));
29
+ const os = __importStar(require("os"));
30
+ const child_process_1 = require("child_process");
29
31
  const rnv_1 = require("rnv");
30
32
  const sdk_webpack_1 = require("@rnv/sdk-webpack");
33
+ const sdk_utils_1 = require("../sdk-utils");
34
+ const services_1 = require("../sdk-utils/sdk-installer/services");
31
35
  const constants_1 = require("../../constants");
32
36
  const configureProject = (c) => {
33
37
  rnv_1.Logger.logTask('configureProject');
@@ -42,12 +46,65 @@ const configureProject = (c) => {
42
46
  return true;
43
47
  };
44
48
  const configureAndroidTVProject = async (c) => {
45
- rnv_1.Logger.logTask('configureAndroidTVProject');
49
+ rnv_1.Logger.logTask('configureAndroidTVProjectX');
46
50
  c.runtime.platformBuildsProjectPath = rnv_1.Common.getPlatformProjectDir(c);
47
- const platform = constants_1.Platforms.WEBOS;
51
+ const platform = constants_1.Platforms.ANDROIDTV;
48
52
  await rnv_1.ProjectManager.copyAssetsFolder(c, platform);
49
53
  await (0, sdk_webpack_1.configureCoreWebProject)(c);
50
- configureProject(c);
54
+ await configureAndroidProperties(c);
55
+ const gradlew = path.join(rnv_1.Common.getPlatformProjectDir(c), 'gradlew');
56
+ fs.chmodSync(gradlew, '755');
51
57
  await rnv_1.ProjectManager.copyBuildsFolder(c, platform);
52
58
  };
53
59
  exports.configureAndroidTVProject = configureAndroidTVProject;
60
+ const configureAndroidProperties = async (c) => {
61
+ rnv_1.Logger.logTask('configureAndroidProperties');
62
+ let sdkDir = c.buildConfig?.sdks?.ANDROID_SDK || '';
63
+ if (rnv_1.Utils.isSystemWin) {
64
+ sdkDir = sdkDir.replace(/\\/g, '/');
65
+ }
66
+ const localPropertiesFilePath = path.join(rnv_1.Common.getPlatformProjectDir(c), 'local.properties');
67
+ const fileContent = `## Generated by ReNative (https://renative.org)
68
+ # from @24i/smartapps-bigscreen-rnv-build-engine package
69
+ sdk.dir=${sdkDir}`;
70
+ fs.writeFileSync(localPropertiesFilePath, fileContent);
71
+ return true;
72
+ };
73
+ const getSdkInstallerUrl = () => {
74
+ const folderUrl = 'https://dl.google.com/android/repository';
75
+ switch (os.platform()) {
76
+ case 'darwin':
77
+ return `${folderUrl}/commandlinetools-mac-8512546_latest.zip`;
78
+ case 'linux':
79
+ return `${folderUrl}/commandlinetools-linux-8512546_latest.zip`;
80
+ default:
81
+ return '';
82
+ }
83
+ };
84
+ const handleAndroidTVSdk = async (c) => {
85
+ rnv_1.Logger.logTask('handleAndroidTVSdk');
86
+ const { ANDROID_SDK_INSTALLER_URL = getSdkInstallerUrl() } = process.env;
87
+ const { ANDROID_SDK } = c.buildConfig.sdks || {};
88
+ const installPath = `${os.homedir()}/Android`;
89
+ const rnvSdkKey = 'ANDROID_SDK';
90
+ const sdkName = 'android';
91
+ if (!ANDROID_SDK) {
92
+ if (fs.existsSync(installPath)) {
93
+ await (0, sdk_utils_1.registerSdkPath)(c, rnvSdkKey, installPath);
94
+ }
95
+ else {
96
+ const parsedZipPath = path.parse(ANDROID_SDK_INSTALLER_URL);
97
+ const downloadedFilePath = `${os.homedir()}/${parsedZipPath.base}`;
98
+ const unzippedDirPath = `${os.homedir()}/${parsedZipPath.name}`;
99
+ rnv_1.Logger.logInfo(`Downloading ${sdkName} SDK...`);
100
+ rnv_1.Logger.logDebug(`Downloading ${sdkName} SDK to ${downloadedFilePath} from ${ANDROID_SDK_INSTALLER_URL}`);
101
+ await (0, services_1.download)(ANDROID_SDK_INSTALLER_URL, downloadedFilePath);
102
+ rnv_1.Logger.logInfo(`Unpacking...`);
103
+ rnv_1.Logger.logDebug(`Unpacking from ${downloadedFilePath} to ${unzippedDirPath}`);
104
+ (0, services_1.unzip)(downloadedFilePath);
105
+ fs.mkdirSync(`${installPath}/cmdline-tools/latest`);
106
+ (0, child_process_1.execSync)(`cp -r ${unzippedDirPath}/cmdline-tools/. ${installPath}/cmdline-tools/latest`);
107
+ }
108
+ }
109
+ };
110
+ exports.handleAndroidTVSdk = handleAndroidTVSdk;
@@ -14,7 +14,6 @@ const configureFn = async (c, parentTask, originTask) => {
14
14
  if (c.program.only && !!parentTask)
15
15
  return;
16
16
  switch (c.platform) {
17
- case constants_1.Platforms.ANDROIDTV:
18
17
  case constants_1.Platforms.ENTONE:
19
18
  case constants_1.Platforms.HBBTV:
20
19
  case constants_1.Platforms.KREATV:
@@ -30,6 +29,9 @@ const configureFn = async (c, parentTask, originTask) => {
30
29
  case constants_1.Platforms.WEBOS:
31
30
  await sdks_1.SDKWebos.configureWebOSProject(c);
32
31
  break;
32
+ case constants_1.Platforms.ANDROIDTV:
33
+ await sdks_1.SDKAndroidtv.configureAndroidTVProject(c);
34
+ break;
33
35
  default:
34
36
  rnv_1.PlatformManager.logErrorPlatform(c);
35
37
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@24i/smartapps-bigscreen-rnv-build-engine",
3
- "version": "0.17.2-alpha.2155",
3
+ "version": "0.17.2-alpha.2156",
4
4
  "description": "Package with build engine for SmartApps BIGscreen projects...",
5
5
  "main": "dist/src/index.js",
6
6
  "scripts": {