@capacitor/cli 4.7.3 → 5.0.0-alpha.2
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/assets/android-template.tar.gz +0 -0
- package/assets/capacitor-cordova-android-plugins.tar.gz +0 -0
- package/assets/capacitor-cordova-ios-plugins.tar.gz +0 -0
- package/assets/ios-template.tar.gz +0 -0
- package/dist/android/add.js +6 -6
- package/dist/android/build.js +12 -9
- package/dist/android/common.js +27 -29
- package/dist/android/doctor.js +24 -24
- package/dist/android/open.js +3 -3
- package/dist/android/run.js +9 -6
- package/dist/android/update.js +53 -53
- package/dist/common.js +23 -23
- package/dist/config.js +67 -61
- package/dist/cordova.js +75 -75
- package/dist/declarations.d.ts +17 -1
- package/dist/index.js +32 -29
- package/dist/ios/add.js +2 -2
- package/dist/ios/build.js +9 -9
- package/dist/ios/common.js +12 -12
- package/dist/ios/doctor.js +6 -6
- package/dist/ios/open.js +2 -2
- package/dist/ios/run.js +7 -7
- package/dist/ios/update.js +58 -62
- package/dist/ipc.js +6 -6
- package/dist/log.js +2 -2
- package/dist/plugin.js +11 -11
- package/dist/sysconfig.js +6 -6
- package/dist/tasks/add.js +27 -27
- package/dist/tasks/build.js +7 -6
- package/dist/tasks/copy.js +42 -42
- package/dist/tasks/create.js +1 -1
- package/dist/tasks/doctor.js +10 -10
- package/dist/tasks/init.js +30 -27
- package/dist/tasks/list.js +12 -12
- package/dist/tasks/migrate.js +189 -407
- package/dist/tasks/new-plugin.js +1 -1
- package/dist/tasks/open.js +10 -10
- package/dist/tasks/run.js +13 -13
- package/dist/tasks/serve.js +1 -1
- package/dist/tasks/sourcemaps.js +9 -9
- package/dist/tasks/sync.js +15 -15
- package/dist/tasks/telemetry.js +4 -4
- package/dist/tasks/update.js +14 -14
- package/dist/telemetry.js +8 -8
- package/dist/util/cli.js +2 -2
- package/dist/util/fs.js +7 -7
- package/dist/util/native-run.js +3 -3
- package/dist/util/node.js +2 -2
- package/dist/util/subprocess.js +1 -1
- package/dist/util/template.js +1 -1
- package/dist/util/term.js +1 -1
- package/dist/util/xml.js +1 -1
- package/dist/web/copy.js +4 -4
- package/package.json +12 -11
- package/CHANGELOG.md +0 -805
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/android/add.js
CHANGED
|
@@ -10,14 +10,14 @@ const common_1 = require("../common");
|
|
|
10
10
|
const subprocess_1 = require("../util/subprocess");
|
|
11
11
|
const template_1 = require("../util/template");
|
|
12
12
|
async function addAndroid(config) {
|
|
13
|
-
await common_1.runTask(`Adding native android project in ${colors_1.default.strong(config.android.platformDir)}`, async () => {
|
|
14
|
-
return template_1.extractTemplate(config.cli.assets.android.platformTemplateArchiveAbs, config.android.platformDirAbs);
|
|
13
|
+
await (0, common_1.runTask)(`Adding native android project in ${colors_1.default.strong(config.android.platformDir)}`, async () => {
|
|
14
|
+
return (0, template_1.extractTemplate)(config.cli.assets.android.platformTemplateArchiveAbs, config.android.platformDirAbs);
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
exports.addAndroid = addAndroid;
|
|
18
18
|
async function createLocalProperties(platformDir) {
|
|
19
|
-
const defaultAndroidPath = path_1.join(os_1.homedir(), 'Library/Android/sdk');
|
|
20
|
-
if (await utils_fs_1.pathExists(defaultAndroidPath)) {
|
|
19
|
+
const defaultAndroidPath = (0, path_1.join)((0, os_1.homedir)(), 'Library/Android/sdk');
|
|
20
|
+
if (await (0, utils_fs_1.pathExists)(defaultAndroidPath)) {
|
|
21
21
|
const localSettings = `
|
|
22
22
|
## This file is automatically generated by Android Studio.
|
|
23
23
|
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
|
@@ -30,7 +30,7 @@ async function createLocalProperties(platformDir) {
|
|
|
30
30
|
# header note.
|
|
31
31
|
sdk.dir=${defaultAndroidPath}
|
|
32
32
|
`;
|
|
33
|
-
await utils_fs_1.writeFile(path_1.join(platformDir, 'local.properties'), localSettings, {
|
|
33
|
+
await (0, utils_fs_1.writeFile)((0, path_1.join)(platformDir, 'local.properties'), localSettings, {
|
|
34
34
|
encoding: 'utf-8',
|
|
35
35
|
});
|
|
36
36
|
// Only sync if we were able to create the local properties above, otherwise
|
|
@@ -46,7 +46,7 @@ sdk.dir=${defaultAndroidPath}
|
|
|
46
46
|
}
|
|
47
47
|
exports.createLocalProperties = createLocalProperties;
|
|
48
48
|
async function gradleSync(platformDir) {
|
|
49
|
-
await subprocess_1.runCommand(`./gradlew`, [], {
|
|
49
|
+
await (0, subprocess_1.runCommand)(`./gradlew`, [], {
|
|
50
50
|
cwd: platformDir,
|
|
51
51
|
});
|
|
52
52
|
}
|
package/dist/android/build.js
CHANGED
|
@@ -8,10 +8,13 @@ const common_1 = require("../common");
|
|
|
8
8
|
const log_1 = require("../log");
|
|
9
9
|
const subprocess_1 = require("../util/subprocess");
|
|
10
10
|
async function buildAndroid(config, buildOptions) {
|
|
11
|
-
var _a;
|
|
11
|
+
var _a, _b;
|
|
12
12
|
const releaseType = (_a = buildOptions.androidreleasetype) !== null && _a !== void 0 ? _a : 'AAB';
|
|
13
13
|
const releaseTypeIsAAB = releaseType === 'AAB';
|
|
14
|
-
const
|
|
14
|
+
const flavor = (_b = buildOptions.flavor) !== null && _b !== void 0 ? _b : '';
|
|
15
|
+
const arg = releaseTypeIsAAB
|
|
16
|
+
? `:app:bundle${flavor}Release`
|
|
17
|
+
: `assemble${flavor}Release`;
|
|
15
18
|
const gradleArgs = [arg];
|
|
16
19
|
if (!buildOptions.keystorepath ||
|
|
17
20
|
!buildOptions.keystorealias ||
|
|
@@ -20,7 +23,7 @@ async function buildAndroid(config, buildOptions) {
|
|
|
20
23
|
throw 'Missing options. Please supply all options for android signing. (Keystore Path, Keystore Password, Keystore Key Alias, Keystore Key Password)';
|
|
21
24
|
}
|
|
22
25
|
try {
|
|
23
|
-
await common_1.runTask('Running Gradle build', async () => subprocess_1.runCommand('./gradlew', gradleArgs, {
|
|
26
|
+
await (0, common_1.runTask)('Running Gradle build', async () => (0, subprocess_1.runCommand)('./gradlew', gradleArgs, {
|
|
24
27
|
cwd: config.android.platformDirAbs,
|
|
25
28
|
}));
|
|
26
29
|
}
|
|
@@ -32,7 +35,7 @@ async function buildAndroid(config, buildOptions) {
|
|
|
32
35
|
throw e;
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
|
-
const releasePath = path_1.join(config.android.appDirAbs, 'build', 'outputs', releaseTypeIsAAB ? 'bundle' : 'apk', 'release');
|
|
38
|
+
const releasePath = (0, path_1.join)(config.android.appDirAbs, 'build', 'outputs', releaseTypeIsAAB ? 'bundle' : 'apk', buildOptions.flavor ? `${flavor}Release` : 'release');
|
|
36
39
|
const unsignedReleaseName = `app${config.android.flavor ? `-${config.android.flavor}` : ''}-release${releaseTypeIsAAB ? '' : '-unsigned'}.${releaseType.toLowerCase()}`;
|
|
37
40
|
const signedReleaseName = unsignedReleaseName.replace(`-release${releaseTypeIsAAB ? '' : '-unsigned'}.${releaseType.toLowerCase()}`, `-release-signed.${releaseType.toLowerCase()}`);
|
|
38
41
|
const signingArgs = [
|
|
@@ -47,15 +50,15 @@ async function buildAndroid(config, buildOptions) {
|
|
|
47
50
|
'-storepass',
|
|
48
51
|
buildOptions.keystorepass,
|
|
49
52
|
`-signedjar`,
|
|
50
|
-
`${path_1.join(releasePath, signedReleaseName)}`,
|
|
51
|
-
`${path_1.join(releasePath, unsignedReleaseName)}`,
|
|
53
|
+
`${(0, path_1.join)(releasePath, signedReleaseName)}`,
|
|
54
|
+
`${(0, path_1.join)(releasePath, unsignedReleaseName)}`,
|
|
52
55
|
buildOptions.keystorealias,
|
|
53
56
|
];
|
|
54
|
-
await common_1.runTask('Signing Release', async () => {
|
|
55
|
-
await subprocess_1.runCommand('jarsigner', signingArgs, {
|
|
57
|
+
await (0, common_1.runTask)('Signing Release', async () => {
|
|
58
|
+
await (0, subprocess_1.runCommand)('jarsigner', signingArgs, {
|
|
56
59
|
cwd: config.android.platformDirAbs,
|
|
57
60
|
});
|
|
58
61
|
});
|
|
59
|
-
log_1.logSuccess(`Successfully generated ${signedReleaseName} at: ${releasePath}`);
|
|
62
|
+
(0, log_1.logSuccess)(`Successfully generated ${signedReleaseName} at: ${releasePath}`);
|
|
60
63
|
}
|
|
61
64
|
exports.buildAndroid = buildAndroid;
|
package/dist/android/common.js
CHANGED
|
@@ -8,7 +8,7 @@ const cordova_1 = require("../cordova");
|
|
|
8
8
|
const plugin_1 = require("../plugin");
|
|
9
9
|
const fs_1 = require("../util/fs");
|
|
10
10
|
async function checkAndroidPackage(config) {
|
|
11
|
-
return common_1.checkCapacitorPlatform(config, 'android');
|
|
11
|
+
return (0, common_1.checkCapacitorPlatform)(config, 'android');
|
|
12
12
|
}
|
|
13
13
|
exports.checkAndroidPackage = checkAndroidPackage;
|
|
14
14
|
async function getAndroidPlugins(allPlugins) {
|
|
@@ -23,24 +23,24 @@ async function resolvePlugin(plugin) {
|
|
|
23
23
|
let pluginFilesPath = plugin.manifest.android.src
|
|
24
24
|
? plugin.manifest.android.src
|
|
25
25
|
: platform;
|
|
26
|
-
const absolutePath = path_1.join(plugin.rootPath, pluginFilesPath, plugin.id);
|
|
26
|
+
const absolutePath = (0, path_1.join)(plugin.rootPath, pluginFilesPath, plugin.id);
|
|
27
27
|
// Android folder shouldn't have subfolders, but they used to, so search for them for compatibility reasons
|
|
28
|
-
if (await utils_fs_1.pathExists(absolutePath)) {
|
|
29
|
-
pluginFilesPath = path_1.join(platform, plugin.id);
|
|
28
|
+
if (await (0, utils_fs_1.pathExists)(absolutePath)) {
|
|
29
|
+
pluginFilesPath = (0, path_1.join)(platform, plugin.id);
|
|
30
30
|
}
|
|
31
31
|
plugin.android = {
|
|
32
|
-
type: 0 /* Core */,
|
|
33
|
-
path: fs_1.convertToUnixPath(pluginFilesPath),
|
|
32
|
+
type: 0 /* PluginType.Core */,
|
|
33
|
+
path: (0, fs_1.convertToUnixPath)(pluginFilesPath),
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
else if (plugin.xml) {
|
|
37
37
|
plugin.android = {
|
|
38
|
-
type: 1 /* Cordova */,
|
|
38
|
+
type: 1 /* PluginType.Cordova */,
|
|
39
39
|
path: 'src/' + platform,
|
|
40
40
|
};
|
|
41
|
-
if (cordova_1.getIncompatibleCordovaPlugins(platform).includes(plugin.id) ||
|
|
42
|
-
!plugin_1.getPluginPlatform(plugin, platform)) {
|
|
43
|
-
plugin.android.type = 2 /* Incompatible */;
|
|
41
|
+
if ((0, cordova_1.getIncompatibleCordovaPlugins)(platform).includes(plugin.id) ||
|
|
42
|
+
!(0, plugin_1.getPluginPlatform)(plugin, platform)) {
|
|
43
|
+
plugin.android.type = 2 /* PluginType.Incompatible */;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
@@ -61,39 +61,37 @@ async function editProjectSettingsAndroid(config) {
|
|
|
61
61
|
.replace(/</g, '<')
|
|
62
62
|
.replace(/"/g, '\\"')
|
|
63
63
|
.replace(/'/g, "\\'");
|
|
64
|
-
const
|
|
65
|
-
const buildGradlePath = path_1.resolve(config.android.appDirAbs, 'build.gradle');
|
|
66
|
-
let manifestContent = await utils_fs_1.readFile(manifestPath, { encoding: 'utf-8' });
|
|
67
|
-
manifestContent = manifestContent.replace(/com.getcapacitor.myapp/g, `${appId}`);
|
|
68
|
-
await utils_fs_1.writeFile(manifestPath, manifestContent, { encoding: 'utf-8' });
|
|
64
|
+
const buildGradlePath = (0, path_1.resolve)(config.android.appDirAbs, 'build.gradle');
|
|
69
65
|
const domainPath = appId.split('.').join('/');
|
|
70
66
|
// Make the package source path to the new plugin Java file
|
|
71
|
-
const newJavaPath = path_1.resolve(config.android.srcMainDirAbs, `java/${domainPath}`);
|
|
72
|
-
if (!(await utils_fs_1.pathExists(newJavaPath))) {
|
|
73
|
-
await utils_fs_1.mkdirp(newJavaPath);
|
|
67
|
+
const newJavaPath = (0, path_1.resolve)(config.android.srcMainDirAbs, `java/${domainPath}`);
|
|
68
|
+
if (!(await (0, utils_fs_1.pathExists)(newJavaPath))) {
|
|
69
|
+
await (0, utils_fs_1.mkdirp)(newJavaPath);
|
|
74
70
|
}
|
|
75
|
-
await utils_fs_1.copy(path_1.resolve(config.android.srcMainDirAbs, 'java/com/getcapacitor/myapp/MainActivity.java'), path_1.resolve(newJavaPath, 'MainActivity.java'));
|
|
71
|
+
await (0, utils_fs_1.copy)((0, path_1.resolve)(config.android.srcMainDirAbs, 'java/com/getcapacitor/myapp/MainActivity.java'), (0, path_1.resolve)(newJavaPath, 'MainActivity.java'));
|
|
76
72
|
if (appId.split('.')[1] !== 'getcapacitor') {
|
|
77
|
-
await utils_fs_1.remove(path_1.resolve(config.android.srcMainDirAbs, 'java/com/getcapacitor'));
|
|
73
|
+
await (0, utils_fs_1.remove)((0, path_1.resolve)(config.android.srcMainDirAbs, 'java/com/getcapacitor'));
|
|
78
74
|
}
|
|
79
75
|
// Remove our template 'com' folder if their ID doesn't have it
|
|
80
76
|
if (appId.split('.')[0] !== 'com') {
|
|
81
|
-
await utils_fs_1.remove(path_1.resolve(config.android.srcMainDirAbs, 'java/com/'));
|
|
77
|
+
await (0, utils_fs_1.remove)((0, path_1.resolve)(config.android.srcMainDirAbs, 'java/com/'));
|
|
82
78
|
}
|
|
83
79
|
// Update the package in the MainActivity java file
|
|
84
|
-
const activityPath = path_1.resolve(newJavaPath, 'MainActivity.java');
|
|
85
|
-
let activityContent = await utils_fs_1.readFile(activityPath, { encoding: 'utf-8' });
|
|
80
|
+
const activityPath = (0, path_1.resolve)(newJavaPath, 'MainActivity.java');
|
|
81
|
+
let activityContent = await (0, utils_fs_1.readFile)(activityPath, { encoding: 'utf-8' });
|
|
86
82
|
activityContent = activityContent.replace(/package ([^;]*)/, `package ${appId}`);
|
|
87
|
-
await utils_fs_1.writeFile(activityPath, activityContent, { encoding: 'utf-8' });
|
|
83
|
+
await (0, utils_fs_1.writeFile)(activityPath, activityContent, { encoding: 'utf-8' });
|
|
88
84
|
// Update the applicationId in build.gradle
|
|
89
|
-
let gradleContent = await utils_fs_1.readFile(buildGradlePath, { encoding: 'utf-8' });
|
|
85
|
+
let gradleContent = await (0, utils_fs_1.readFile)(buildGradlePath, { encoding: 'utf-8' });
|
|
90
86
|
gradleContent = gradleContent.replace(/applicationId "[^"]+"/, `applicationId "${appId}"`);
|
|
91
|
-
|
|
87
|
+
// Update the namespace in build.gradle
|
|
88
|
+
gradleContent = gradleContent.replace(/namespace "[^"]+"/, `namespace "${appId}"`);
|
|
89
|
+
await (0, utils_fs_1.writeFile)(buildGradlePath, gradleContent, { encoding: 'utf-8' });
|
|
92
90
|
// Update the settings in res/values/strings.xml
|
|
93
|
-
const stringsPath = path_1.resolve(config.android.resDirAbs, 'values/strings.xml');
|
|
94
|
-
let stringsContent = await utils_fs_1.readFile(stringsPath, { encoding: 'utf-8' });
|
|
91
|
+
const stringsPath = (0, path_1.resolve)(config.android.resDirAbs, 'values/strings.xml');
|
|
92
|
+
let stringsContent = await (0, utils_fs_1.readFile)(stringsPath, { encoding: 'utf-8' });
|
|
95
93
|
stringsContent = stringsContent.replace(/com.getcapacitor.myapp/g, appId);
|
|
96
94
|
stringsContent = stringsContent.replace(/My App/g, appName);
|
|
97
|
-
await utils_fs_1.writeFile(stringsPath, stringsContent);
|
|
95
|
+
await (0, utils_fs_1.writeFile)(stringsPath, stringsContent);
|
|
98
96
|
}
|
|
99
97
|
exports.editProjectSettingsAndroid = editProjectSettingsAndroid;
|
package/dist/android/doctor.js
CHANGED
|
@@ -13,48 +13,48 @@ const xml_1 = require("../util/xml");
|
|
|
13
13
|
async function doctorAndroid(config) {
|
|
14
14
|
var _a;
|
|
15
15
|
try {
|
|
16
|
-
await common_1.check([
|
|
16
|
+
await (0, common_1.check)([
|
|
17
17
|
checkAndroidInstalled,
|
|
18
18
|
() => checkGradlew(config),
|
|
19
19
|
() => checkAppSrcDirs(config),
|
|
20
20
|
]);
|
|
21
|
-
log_1.logSuccess('Android looking great! 👌');
|
|
21
|
+
(0, log_1.logSuccess)('Android looking great! 👌');
|
|
22
22
|
}
|
|
23
23
|
catch (e) {
|
|
24
|
-
if (!errors_1.isFatal(e)) {
|
|
25
|
-
errors_1.fatal((_a = e.stack) !== null && _a !== void 0 ? _a : e);
|
|
24
|
+
if (!(0, errors_1.isFatal)(e)) {
|
|
25
|
+
(0, errors_1.fatal)((_a = e.stack) !== null && _a !== void 0 ? _a : e);
|
|
26
26
|
}
|
|
27
27
|
throw e;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.doctorAndroid = doctorAndroid;
|
|
31
31
|
async function checkAppSrcDirs(config) {
|
|
32
|
-
if (!(await utils_fs_1.pathExists(config.android.appDirAbs))) {
|
|
32
|
+
if (!(await (0, utils_fs_1.pathExists)(config.android.appDirAbs))) {
|
|
33
33
|
return `${colors_1.default.strong(config.android.appDir)} directory is missing in ${colors_1.default.strong(config.android.platformDir)}`;
|
|
34
34
|
}
|
|
35
|
-
if (!(await utils_fs_1.pathExists(config.android.srcMainDirAbs))) {
|
|
35
|
+
if (!(await (0, utils_fs_1.pathExists)(config.android.srcMainDirAbs))) {
|
|
36
36
|
return `${colors_1.default.strong(config.android.srcMainDir)} directory is missing in ${colors_1.default.strong(config.android.platformDir)}`;
|
|
37
37
|
}
|
|
38
|
-
if (!(await utils_fs_1.pathExists(config.android.assetsDirAbs))) {
|
|
38
|
+
if (!(await (0, utils_fs_1.pathExists)(config.android.assetsDirAbs))) {
|
|
39
39
|
return `${colors_1.default.strong(config.android.assetsDir)} directory is missing in ${colors_1.default.strong(config.android.platformDir)}`;
|
|
40
40
|
}
|
|
41
|
-
if (!(await utils_fs_1.pathExists(config.android.webDirAbs))) {
|
|
41
|
+
if (!(await (0, utils_fs_1.pathExists)(config.android.webDirAbs))) {
|
|
42
42
|
return `${colors_1.default.strong(config.android.webDir)} directory is missing in ${colors_1.default.strong(config.android.platformDir)}`;
|
|
43
43
|
}
|
|
44
|
-
const appSrcMainAssetsWwwIndexHtmlDir = path_1.join(config.android.webDirAbs, 'index.html');
|
|
45
|
-
if (!(await utils_fs_1.pathExists(appSrcMainAssetsWwwIndexHtmlDir))) {
|
|
44
|
+
const appSrcMainAssetsWwwIndexHtmlDir = (0, path_1.join)(config.android.webDirAbs, 'index.html');
|
|
45
|
+
if (!(await (0, utils_fs_1.pathExists)(appSrcMainAssetsWwwIndexHtmlDir))) {
|
|
46
46
|
return `${colors_1.default.strong('index.html')} file is missing in ${colors_1.default.strong(config.android.webDirAbs)}`;
|
|
47
47
|
}
|
|
48
48
|
return checkAndroidManifestFile(config);
|
|
49
49
|
}
|
|
50
50
|
async function checkAndroidManifestFile(config) {
|
|
51
51
|
const manifestFileName = 'AndroidManifest.xml';
|
|
52
|
-
const manifestFilePath = path_1.join(config.android.srcMainDirAbs, manifestFileName);
|
|
53
|
-
if (!(await utils_fs_1.pathExists(manifestFilePath))) {
|
|
52
|
+
const manifestFilePath = (0, path_1.join)(config.android.srcMainDirAbs, manifestFileName);
|
|
53
|
+
if (!(await (0, utils_fs_1.pathExists)(manifestFilePath))) {
|
|
54
54
|
return `${colors_1.default.strong(manifestFileName)} is missing in ${colors_1.default.strong(config.android.srcMainDir)}`;
|
|
55
55
|
}
|
|
56
56
|
try {
|
|
57
|
-
const xmlData = await xml_1.readXML(manifestFilePath);
|
|
57
|
+
const xmlData = await (0, xml_1.readXML)(manifestFilePath);
|
|
58
58
|
return checkAndroidManifestData(config, xmlData);
|
|
59
59
|
}
|
|
60
60
|
catch (e) {
|
|
@@ -124,16 +124,16 @@ async function checkPackage(config, packageId, mainActivityClassPath) {
|
|
|
124
124
|
if (mainActivityClassPath.indexOf(packageId) !== 0) {
|
|
125
125
|
return (`MainActivity ${mainActivityClassPath} is not in manifest package ${colors_1.default.input(packageId)}.\n` + `Please update the packages to be the same.`);
|
|
126
126
|
}
|
|
127
|
-
const appSrcMainJavaDir = path_1.join(config.android.srcMainDirAbs, 'java');
|
|
128
|
-
if (!(await utils_fs_1.pathExists(appSrcMainJavaDir))) {
|
|
127
|
+
const appSrcMainJavaDir = (0, path_1.join)(config.android.srcMainDirAbs, 'java');
|
|
128
|
+
if (!(await (0, utils_fs_1.pathExists)(appSrcMainJavaDir))) {
|
|
129
129
|
return `${colors_1.default.strong('java')} directory is missing in ${colors_1.default.strong(appSrcMainJavaDir)}`;
|
|
130
130
|
}
|
|
131
131
|
let checkPath = appSrcMainJavaDir;
|
|
132
132
|
const packageParts = packageId.split('.');
|
|
133
133
|
for (const packagePart of packageParts) {
|
|
134
134
|
try {
|
|
135
|
-
fs_1.accessSync(path_1.join(checkPath, packagePart));
|
|
136
|
-
checkPath = path_1.join(checkPath, packagePart);
|
|
135
|
+
(0, fs_1.accessSync)((0, path_1.join)(checkPath, packagePart));
|
|
136
|
+
checkPath = (0, path_1.join)(checkPath, packagePart);
|
|
137
137
|
}
|
|
138
138
|
catch (e) {
|
|
139
139
|
return (`${colors_1.default.strong(packagePart)} is missing in ${checkPath}.\n` +
|
|
@@ -142,19 +142,19 @@ async function checkPackage(config, packageId, mainActivityClassPath) {
|
|
|
142
142
|
}
|
|
143
143
|
const mainActivityClassName = mainActivityClassPath.split('.').pop();
|
|
144
144
|
const mainActivityClassFileName = `${mainActivityClassName}.java`;
|
|
145
|
-
const mainActivityClassFilePath = path_1.join(checkPath, mainActivityClassFileName);
|
|
146
|
-
if (!(await utils_fs_1.pathExists(mainActivityClassFilePath))) {
|
|
145
|
+
const mainActivityClassFilePath = (0, path_1.join)(checkPath, mainActivityClassFileName);
|
|
146
|
+
if (!(await (0, utils_fs_1.pathExists)(mainActivityClassFilePath))) {
|
|
147
147
|
return `Main activity file (${mainActivityClassFileName}) is missing in ${checkPath}`;
|
|
148
148
|
}
|
|
149
149
|
return checkBuildGradle(config, packageId);
|
|
150
150
|
}
|
|
151
151
|
async function checkBuildGradle(config, packageId) {
|
|
152
152
|
const fileName = 'build.gradle';
|
|
153
|
-
const filePath = path_1.join(config.android.appDirAbs, fileName);
|
|
154
|
-
if (!(await utils_fs_1.pathExists(filePath))) {
|
|
153
|
+
const filePath = (0, path_1.join)(config.android.appDirAbs, fileName);
|
|
154
|
+
if (!(await (0, utils_fs_1.pathExists)(filePath))) {
|
|
155
155
|
return `${colors_1.default.strong(fileName)} file is missing in ${colors_1.default.strong(config.android.appDir)}`;
|
|
156
156
|
}
|
|
157
|
-
let fileContent = await utils_fs_1.readFile(filePath, { encoding: 'utf-8' });
|
|
157
|
+
let fileContent = await (0, utils_fs_1.readFile)(filePath, { encoding: 'utf-8' });
|
|
158
158
|
fileContent = fileContent.replace(/'|"/g, '').replace(/\s+/g, ' ');
|
|
159
159
|
const searchFor = `applicationId ${packageId}`;
|
|
160
160
|
if (fileContent.indexOf(searchFor) === -1) {
|
|
@@ -164,8 +164,8 @@ async function checkBuildGradle(config, packageId) {
|
|
|
164
164
|
}
|
|
165
165
|
async function checkGradlew(config) {
|
|
166
166
|
const fileName = 'gradlew';
|
|
167
|
-
const filePath = path_1.join(config.android.platformDirAbs, fileName);
|
|
168
|
-
if (!(await utils_fs_1.pathExists(filePath))) {
|
|
167
|
+
const filePath = (0, path_1.join)(config.android.platformDirAbs, fileName);
|
|
168
|
+
if (!(await (0, utils_fs_1.pathExists)(filePath))) {
|
|
169
169
|
return `${colors_1.default.strong(fileName)} file is missing in ${colors_1.default.strong(config.android.platformDir)}`;
|
|
170
170
|
}
|
|
171
171
|
return null;
|
package/dist/android/open.js
CHANGED
|
@@ -7,15 +7,15 @@ const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
|
7
7
|
const open_1 = tslib_1.__importDefault(require("open"));
|
|
8
8
|
const colors_1 = tslib_1.__importDefault(require("../colors"));
|
|
9
9
|
const log_1 = require("../log");
|
|
10
|
-
const debug = debug_1.default('capacitor:android:open');
|
|
10
|
+
const debug = (0, debug_1.default)('capacitor:android:open');
|
|
11
11
|
async function openAndroid(config) {
|
|
12
12
|
const androidStudioPath = await config.android.studioPath;
|
|
13
13
|
const dir = config.android.platformDirAbs;
|
|
14
14
|
try {
|
|
15
|
-
if (!(await utils_fs_1.pathExists(androidStudioPath))) {
|
|
15
|
+
if (!(await (0, utils_fs_1.pathExists)(androidStudioPath))) {
|
|
16
16
|
throw new Error(`Android Studio does not exist at: ${androidStudioPath}`);
|
|
17
17
|
}
|
|
18
|
-
await open_1.default(dir, { app: { name: androidStudioPath }, wait: false });
|
|
18
|
+
await (0, open_1.default)(dir, { app: { name: androidStudioPath }, wait: false });
|
|
19
19
|
log_1.logger.info(`Opening Android project at: ${colors_1.default.strong(config.android.platformDir)}.`);
|
|
20
20
|
}
|
|
21
21
|
catch (e) {
|
package/dist/android/run.js
CHANGED
|
@@ -8,16 +8,16 @@ const colors_1 = tslib_1.__importDefault(require("../colors"));
|
|
|
8
8
|
const common_1 = require("../common");
|
|
9
9
|
const native_run_1 = require("../util/native-run");
|
|
10
10
|
const subprocess_1 = require("../util/subprocess");
|
|
11
|
-
const debug = debug_1.default('capacitor:android:run');
|
|
12
|
-
async function runAndroid(config, { target: selectedTarget, flavor: selectedFlavor }) {
|
|
11
|
+
const debug = (0, debug_1.default)('capacitor:android:run');
|
|
12
|
+
async function runAndroid(config, { target: selectedTarget, flavor: selectedFlavor, forwardPorts: selectedPorts, }) {
|
|
13
13
|
var _a;
|
|
14
|
-
const target = await common_1.promptForPlatformTarget(await native_run_1.getPlatformTargets('android'), selectedTarget);
|
|
14
|
+
const target = await (0, common_1.promptForPlatformTarget)(await (0, native_run_1.getPlatformTargets)('android'), selectedTarget);
|
|
15
15
|
const runFlavor = selectedFlavor || ((_a = config.android) === null || _a === void 0 ? void 0 : _a.flavor) || '';
|
|
16
16
|
const arg = `assemble${runFlavor}Debug`;
|
|
17
17
|
const gradleArgs = [arg];
|
|
18
18
|
debug('Invoking ./gradlew with args: %O', gradleArgs);
|
|
19
19
|
try {
|
|
20
|
-
await common_1.runTask('Running Gradle build', async () => subprocess_1.runCommand('./gradlew', gradleArgs, {
|
|
20
|
+
await (0, common_1.runTask)('Running Gradle build', async () => (0, subprocess_1.runCommand)('./gradlew', gradleArgs, {
|
|
21
21
|
cwd: config.android.platformDirAbs,
|
|
22
22
|
}));
|
|
23
23
|
}
|
|
@@ -31,9 +31,12 @@ async function runAndroid(config, { target: selectedTarget, flavor: selectedFlav
|
|
|
31
31
|
}
|
|
32
32
|
const pathToApk = `${config.android.platformDirAbs}/${config.android.appDir}/build/outputs/apk${runFlavor !== '' ? '/' + runFlavor : ''}/debug`;
|
|
33
33
|
const apkName = `app${runFlavor !== '' ? '-' + runFlavor : ''}-debug.apk`;
|
|
34
|
-
const apkPath = path_1.resolve(pathToApk, apkName);
|
|
34
|
+
const apkPath = (0, path_1.resolve)(pathToApk, apkName);
|
|
35
35
|
const nativeRunArgs = ['android', '--app', apkPath, '--target', target.id];
|
|
36
|
+
if (selectedPorts) {
|
|
37
|
+
nativeRunArgs.push('--forward', `${selectedPorts}`);
|
|
38
|
+
}
|
|
36
39
|
debug('Invoking native-run with args: %O', nativeRunArgs);
|
|
37
|
-
await common_1.runTask(`Deploying ${colors_1.default.strong(apkName)} to ${colors_1.default.input(target.id)}`, async () => native_run_1.runNativeRun(nativeRunArgs));
|
|
40
|
+
await (0, common_1.runTask)(`Deploying ${colors_1.default.strong(apkName)} to ${colors_1.default.input(target.id)}`, async () => (0, native_run_1.runNativeRun)(nativeRunArgs));
|
|
38
41
|
}
|
|
39
42
|
exports.runAndroid = runAndroid;
|