1 | const { join, resolve } = require("path");
|
2 | const { existsSync, readFileSync } = require("fs");
|
3 |
|
4 | const { getPackageJson } = require("./projectHelpers");
|
5 |
|
6 | const PLATFORMS_ANDROID = "platforms/android";
|
7 | const ANDROID_PROJECT_DIR = join(PLATFORMS_ANDROID, "app");
|
8 | const ANDROID_APP_PATH = join(ANDROID_PROJECT_DIR, "src/main/assets/app");
|
9 | const ANDROID_CONFIGURATIONS_PATH = join(ANDROID_PROJECT_DIR, "build/configurations");
|
10 |
|
11 | const getAndroidRuntimeVersion = (projectDir) => {
|
12 | try {
|
13 | const projectPackageJSON = getPackageJson(projectDir);
|
14 |
|
15 | const version = projectPackageJSON["nativescript"]["tns-android"]["version"];
|
16 | return version && toReleaseVersion(version);
|
17 | } catch (e) {
|
18 | return null;
|
19 | }
|
20 | }
|
21 |
|
22 | const toReleaseVersion = version => version.replace(/-.*/, "");
|
23 |
|
24 | const getAndroidV8Version = (projectDir) => {
|
25 | try {
|
26 | const androidSettingsJSON = getAndroidSettingsJson(projectDir);
|
27 | if (androidSettingsJSON !== null) {
|
28 | return androidSettingsJSON.v8Version;
|
29 | } else {
|
30 | return null;
|
31 | }
|
32 | } catch (e) {
|
33 | return null;
|
34 | }
|
35 | }
|
36 |
|
37 | const getMksnapshotParams = (projectDir) => {
|
38 | try {
|
39 | const androidSettingsJSON = getAndroidSettingsJson(projectDir);
|
40 | if (androidSettingsJSON !== null) {
|
41 | return androidSettingsJSON.mksnapshotParams;
|
42 | } else {
|
43 | return null;
|
44 | }
|
45 | } catch (e) {
|
46 | return null;
|
47 | }
|
48 | };
|
49 |
|
50 | const getAndroidSettingsJson = projectDir => {
|
51 | const androidSettingsJsonPath = resolve(projectDir, PLATFORMS_ANDROID, "settings.json");
|
52 | if (existsSync(androidSettingsJsonPath)) {
|
53 | return JSON.parse(readFileSync(androidSettingsJsonPath, "utf8"));
|
54 | } else {
|
55 | return null;
|
56 | }
|
57 | };
|
58 |
|
59 | module.exports = {
|
60 | ANDROID_PROJECT_DIR,
|
61 | ANDROID_APP_PATH,
|
62 | ANDROID_CONFIGURATIONS_PATH,
|
63 | getAndroidRuntimeVersion,
|
64 | getAndroidV8Version,
|
65 | getMksnapshotParams
|
66 | }; |
\ | No newline at end of file |