mirror of
https://github.com/apache/cordova-android.git
synced 2025-02-07 23:03:11 +08:00
Fixing the Android Studio detection and making it automatically pick the right builder, good for upgrading Cordova
This commit is contained in:
parent
304a899114
commit
e621edfba7
@ -45,7 +45,9 @@ function getFrameworkDir(projectPath, shared) {
|
|||||||
function copyJsAndLibrary(projectPath, shared, projectName) {
|
function copyJsAndLibrary(projectPath, shared, projectName) {
|
||||||
var nestedCordovaLibPath = getFrameworkDir(projectPath, false);
|
var nestedCordovaLibPath = getFrameworkDir(projectPath, false);
|
||||||
var srcCordovaJsPath = path.join(ROOT, 'bin', 'templates', 'project', 'assets', 'www', 'cordova.js');
|
var srcCordovaJsPath = path.join(ROOT, 'bin', 'templates', 'project', 'assets', 'www', 'cordova.js');
|
||||||
shell.cp('-f', srcCordovaJsPath, path.join(projectPath, 'app', 'src', 'main', 'assets', 'www', 'cordova.js'));
|
var app_path = path.join(projectPath, 'app', 'src', 'main');
|
||||||
|
|
||||||
|
shell.cp('-f', srcCordovaJsPath, path.join(app_path, 'assets', 'www', 'cordova.js'));
|
||||||
|
|
||||||
// Copy the cordova.js file to platforms/<platform>/platform_www/
|
// Copy the cordova.js file to platforms/<platform>/platform_www/
|
||||||
// The www dir is nuked on each prepare so we keep cordova.js in platform_www
|
// The www dir is nuked on each prepare so we keep cordova.js in platform_www
|
||||||
@ -56,9 +58,9 @@ function copyJsAndLibrary(projectPath, shared, projectName) {
|
|||||||
// We need these files to build cordova.js if using browserify method.
|
// We need these files to build cordova.js if using browserify method.
|
||||||
shell.cp('-rf', path.join(ROOT, 'cordova-js-src'), path.join(projectPath, 'platform_www'));
|
shell.cp('-rf', path.join(ROOT, 'cordova-js-src'), path.join(projectPath, 'platform_www'));
|
||||||
|
|
||||||
// Don't fail if there are no old jars.
|
// Don't fail if there are no old jars, because there hasn't been cordova JARs for years!
|
||||||
setShellFatal(false, function() {
|
setShellFatal(false, function() {
|
||||||
shell.ls(path.join(projectPath, 'libs', 'cordova-*.jar')).forEach(function(oldJar) {
|
shell.ls(path.join(app_path, 'libs', 'cordova-*.jar')).forEach(function(oldJar) {
|
||||||
console.log('Deleting ' + oldJar);
|
console.log('Deleting ' + oldJar);
|
||||||
shell.rm('-f', oldJar);
|
shell.rm('-f', oldJar);
|
||||||
});
|
});
|
||||||
@ -270,7 +272,7 @@ exports.create = function(project_path, config, options, events) {
|
|||||||
shell.cp(path.join(project_template_dir, 'gitignore'), path.join(project_path, '.gitignore'));
|
shell.cp(path.join(project_template_dir, 'gitignore'), path.join(project_path, '.gitignore'));
|
||||||
|
|
||||||
// Manually create directories that would be empty within the template (since git doesn't track directories).
|
// Manually create directories that would be empty within the template (since git doesn't track directories).
|
||||||
shell.mkdir(path.join(project_path, 'libs'));
|
shell.mkdir(path.join(app_path, 'libs'));
|
||||||
|
|
||||||
// copy cordova.js, cordova.jar
|
// copy cordova.js, cordova.jar
|
||||||
copyJsAndLibrary(project_path, options.link, safe_activity_name);
|
copyJsAndLibrary(project_path, options.link, safe_activity_name);
|
||||||
|
2
bin/templates/cordova/Api.js
vendored
2
bin/templates/cordova/Api.js
vendored
@ -343,6 +343,8 @@ Api.prototype.removePlugin = function (plugin, uninstallOptions) {
|
|||||||
*/
|
*/
|
||||||
Api.prototype.build = function (buildOptions) {
|
Api.prototype.build = function (buildOptions) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
if(this.android_studio)
|
||||||
|
buildOptions.studio = true;
|
||||||
return require('./lib/check_reqs').run()
|
return require('./lib/check_reqs').run()
|
||||||
.then(function () {
|
.then(function () {
|
||||||
return require('./lib/build').run.call(self, buildOptions);
|
return require('./lib/build').run.call(self, buildOptions);
|
||||||
|
2
bin/templates/cordova/lib/AndroidStudio.js
vendored
2
bin/templates/cordova/lib/AndroidStudio.js
vendored
@ -11,7 +11,7 @@ var fs = require('fs');
|
|||||||
var CordovaError = require('cordova-common').CordovaError;
|
var CordovaError = require('cordova-common').CordovaError;
|
||||||
|
|
||||||
module.exports.isAndroidStudioProject = function isAndroidStudioProject(root) {
|
module.exports.isAndroidStudioProject = function isAndroidStudioProject(root) {
|
||||||
var eclipseFiles = ['AndroidManifest.xml', 'libs', 'res', 'project.properties', 'platform_www'];
|
var eclipseFiles = ['AndroidManifest.xml', 'libs', 'res'];
|
||||||
var androidStudioFiles = ['app', 'gradle', 'app/src/main/res'];
|
var androidStudioFiles = ['app', 'gradle', 'app/src/main/res'];
|
||||||
|
|
||||||
// assume it is an AS project and not an Eclipse project
|
// assume it is an AS project and not an Eclipse project
|
||||||
|
Loading…
Reference in New Issue
Block a user