@24i/smartapps-bigscreen-rnv-build-engine 0.17.2-alpha.2161 → 0.17.2-alpha.2163

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.
@@ -6,6 +6,7 @@ const resolveBuildFileExtension = (platform) => {
6
6
  switch (platform) {
7
7
  case constants_1.Platforms.TIZEN: return 'wgt';
8
8
  case constants_1.Platforms.WEBOS: return 'ipk';
9
+ case constants_1.Platforms.ANDROIDTV: return 'apk';
9
10
  default: return 'zip';
10
11
  }
11
12
  };
@@ -27,30 +27,99 @@ exports.handleAndroidTVSdk = exports.configureAndroidTVProject = exports.buildAn
27
27
  const fs = __importStar(require("fs"));
28
28
  const path = __importStar(require("path"));
29
29
  const os = __importStar(require("os"));
30
+ const semver = __importStar(require("semver"));
30
31
  const child_process_1 = require("child_process");
31
32
  const rnv_1 = require("rnv");
32
33
  const sdk_webpack_1 = require("@rnv/sdk-webpack");
34
+ const sdk_webpack_2 = require("../sdk-webpack");
33
35
  const sdk_utils_1 = require("../sdk-utils");
34
36
  const services_1 = require("../sdk-utils/sdk-installer/services");
37
+ const resolvers_1 = require("../../resolvers");
35
38
  const constants_1 = require("../../constants");
39
+ const flavourName = 'bigscreenAppstage';
40
+ const buildType = 'debug';
41
+ const capitalizeFirstLetter = (str) => {
42
+ return str.charAt(0).toUpperCase() + str.slice(1);
43
+ };
36
44
  const buildAndroidTVProject = async (c) => {
37
45
  rnv_1.Logger.logTask('buildAndroidTVProject');
38
- const gradlew = './gradlew';
39
- (0, child_process_1.execSync)(`cd ${rnv_1.Common.getPlatformProjectDir(c)} && ${gradlew} assembleBigscreenAppstageDebug`);
40
- const output = path.join(rnv_1.Common.getPlatformProjectDir(c), 'name.apk');
41
- rnv_1.Logger.logSuccess(`Your APK package is located in ${rnv_1.Logger.chalk().cyan(output)} .`);
46
+ await (0, sdk_webpack_2.buildCoreWebpackProject)(c);
47
+ if (!c.program.hosted) {
48
+ const projectDir = rnv_1.Common.getPlatformProjectDir(c);
49
+ const projectParentDir = path.join(projectDir, '..');
50
+ const tOut = path.join(projectParentDir, 'output');
51
+ const apkFileName = `app-${flavourName}-debug.apk`;
52
+ const apkFilePath = path.join(projectDir, `app/build/outputs/apk/${flavourName}/debug/${apkFileName}`);
53
+ const gradlew = './gradlew';
54
+ const taskBuildType = buildType === 'debug' ? 'Debug' : 'Release';
55
+ const taskFlavourName = capitalizeFirstLetter(flavourName);
56
+ const taskName = `assemble${taskFlavourName}${taskBuildType}`;
57
+ (0, child_process_1.execSync)(`cd ${projectDir} && ${gradlew} ${taskName}`);
58
+ if (!fs.existsSync(tOut)) {
59
+ fs.mkdirSync(tOut);
60
+ }
61
+ const outputFilePath = path.join(tOut, apkFileName);
62
+ fs.copyFileSync(apkFilePath, outputFilePath);
63
+ rnv_1.Logger.logSuccess(`Your APK package is located in ${rnv_1.Logger.chalk().cyan(tOut)} .`);
64
+ }
42
65
  };
43
66
  exports.buildAndroidTVProject = buildAndroidTVProject;
44
67
  const configureProject = (c) => {
45
68
  rnv_1.Logger.logTask('configureProject');
69
+ const buildGradleFileName = 'build.gradle';
70
+ const buildGradleFilePath = path.join(rnv_1.Common.getPlatformProjectDir(c), 'app', buildGradleFileName);
71
+ const version = semver.coerce(rnv_1.Common.getAppVersion(c, c.platform));
72
+ const semVerObj = semver.parse(version);
73
+ if (!semVerObj) {
74
+ throw new Error(`Failed to parse Application version: ${version}`);
75
+ }
76
+ const major = `${semVerObj.major}`.padStart(2, '0');
77
+ const minor = `${semVerObj.minor}`.padStart(2, '0');
78
+ const patch = `${semVerObj.patch}`.padStart(2, '0');
79
+ const versionCode = parseInt(`${major}${minor}${patch}00`, 10);
80
+ const appId = rnv_1.Common.getConfigProp(c, c.platform, 'id', '');
81
+ const injects = [{
82
+ pattern: '{{APP_VERSION_CODE}}',
83
+ override: versionCode,
84
+ }, {
85
+ pattern: '{{APP_VERSION_NAME}}',
86
+ override: version,
87
+ }, {
88
+ pattern: '{{APP_ID}}',
89
+ override: appId,
90
+ }];
91
+ rnv_1.Common.addSystemInjects(c, injects);
92
+ rnv_1.FileUtils.writeCleanFile(buildGradleFilePath, buildGradleFilePath, injects, null, c);
93
+ };
94
+ const getHostedAppEntryUrl = (c) => {
95
+ const { platform, runtime } = c;
96
+ const baseUrl = (0, resolvers_1.resolveBaseUrl)({
97
+ platform,
98
+ scheme: runtime.scheme || '',
99
+ flavour: runtime.appId,
100
+ });
101
+ return `${baseUrl}/public/index.html`;
102
+ };
103
+ const configureEntryUrl = (c) => {
104
+ rnv_1.Logger.logTask('configureEntryUrl');
105
+ const entryUrl = getHostedAppEntryUrl(c);
106
+ const configFileName = 'configuration.json';
107
+ const injects = [{
108
+ pattern: '{{APP_URL}}',
109
+ override: entryUrl,
110
+ }];
111
+ const file = path.join(rnv_1.Common.getPlatformProjectDir(c), 'app/src', flavourName, 'res/raw', configFileName);
112
+ rnv_1.FileUtils.writeCleanFile(file, file, injects, null, c);
46
113
  };
47
114
  const configureAndroidTVProject = async (c) => {
48
115
  rnv_1.Logger.logTask('configureAndroidTVProject');
49
116
  c.runtime.platformBuildsProjectPath = rnv_1.Common.getPlatformProjectDir(c);
50
117
  const platform = constants_1.Platforms.ANDROIDTV;
51
- await rnv_1.ProjectManager.copyAssetsFolder(c, platform);
118
+ await rnv_1.ProjectManager.copyAssetsFolder(c, platform, `app/src/${flavourName}/res`);
52
119
  await (0, sdk_webpack_1.configureCoreWebProject)(c);
53
120
  await configureAndroidProperties(c);
121
+ configureProject(c);
122
+ configureEntryUrl(c);
54
123
  const gradlew = path.join(rnv_1.Common.getPlatformProjectDir(c), 'gradlew');
55
124
  fs.chmodSync(gradlew, '755');
56
125
  await rnv_1.ProjectManager.copyBuildsFolder(c, platform);
@@ -84,6 +84,7 @@ const buildFn = async (c, parentTask, originTask) => {
84
84
  break;
85
85
  case constants_1.Platforms.ANDROIDTV:
86
86
  await sdks_1.SDKAndroidtv.buildAndroidTVProject(c);
87
+ renameOutput(c);
87
88
  break;
88
89
  default:
89
90
  rnv_1.PlatformManager.logErrorPlatform(c);
@@ -234,10 +234,10 @@ android {
234
234
  bigscreenAppstage {
235
235
  // X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
236
236
  dimension "bridge"
237
- versionCode 1000100
238
- versionName "1.0.1"
239
- applicationId "com.twentyfouri.app.appstagebigscreen"
240
- resValue "string", "app_name", "Appstage BIGscreen"
237
+ versionCode {{APP_VERSION_CODE}}
238
+ versionName "{{APP_VERSION_NAME}}"
239
+ applicationId "{{APP_ID}}"
240
+ resValue "string", "app_name", "{{configProps.appName}}"
241
241
  }
242
242
  pureflix {
243
243
  // X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
@@ -1,5 +1,5 @@
1
1
  {
2
- "baseUrl": "http://smartapps-bigscreen.appstage-bigscreen.24imedia.com.s3.amazonaws.com/builds/androidtv/animated_720/demo/index.html",
2
+ "baseUrl": "{{APP_URL}}",
3
3
  "drm": {
4
4
  "overrideDrmCallback": true
5
5
  }
@@ -24,7 +24,7 @@ buildscript {
24
24
  ext {
25
25
  mavenRepositoryUrl = 'https://maven.pkg.github.com/24i/*'
26
26
  mavenRepositoryUsername = findProperty('github_username') ?: "24i"
27
- mavenRepositoryPassword = findProperty('github_token') ?: System.getenv("GH_TOKEN")
27
+ mavenRepositoryPassword = findProperty('github_token') ?: System.getenv("GH_TOKEN") ?: System.getenv("GITHUB_TOKEN")
28
28
  }
29
29
 
30
30
  allprojects {
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.2161",
3
+ "version": "0.17.2-alpha.2163",
4
4
  "description": "Package with build engine for SmartApps BIGscreen projects...",
5
5
  "main": "dist/src/index.js",
6
6
  "scripts": {