@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.
- package/dist/src/resolvers/resolveBuildFileExtension.js +1 -0
- package/dist/src/sdks/sdk-androidtv/sdkAndroidtv.js +74 -5
- package/dist/src/tasks/task.rnv.build.js +1 -0
- package/dist/templates/platforms/androidtv/project/app/build.gradle +4 -4
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/raw/configuration.json +1 -1
- package/dist/templates/platforms/androidtv/project/build.gradle +1 -1
- package/package.json +1 -1
|
@@ -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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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);
|
|
@@ -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
|
|
238
|
-
versionName "
|
|
239
|
-
applicationId "
|
|
240
|
-
resValue "string", "app_name", "
|
|
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
|
|
@@ -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