You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2015/02/13 02:45:46 UTC
cordova-lib git commit: CB-8469 android: Call into platform's
build.js after `plugin add` so that Android Studio will work without needing
an explicit command-line build first
Repository: cordova-lib
Updated Branches:
refs/heads/master f37d6a6f1 -> d77ebc40a
CB-8469 android: Call into platform's build.js after `plugin add` so that Android Studio will work without needing an explicit command-line build first
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/d77ebc40
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/d77ebc40
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/d77ebc40
Branch: refs/heads/master
Commit: d77ebc40a16ab27a8ed22c0bbf2ab8a84a5ac448
Parents: f37d6a6
Author: Andrew Grieve <ag...@chromium.org>
Authored: Thu Feb 12 20:44:00 2015 -0500
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Thu Feb 12 20:45:27 2015 -0500
----------------------------------------------------------------------
cordova-lib/spec-cordova/HooksRunner.spec.js | 4 +++-
cordova-lib/src/plugman/install.js | 14 +++++++++++++
cordova-lib/src/plugman/uninstall.js | 25 ++++++++++++++++++++++-
3 files changed, 41 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/d77ebc40/cordova-lib/spec-cordova/HooksRunner.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/HooksRunner.spec.js b/cordova-lib/spec-cordova/HooksRunner.spec.js
index 6b30828..14508ea 100644
--- a/cordova-lib/spec-cordova/HooksRunner.spec.js
+++ b/cordova-lib/spec-cordova/HooksRunner.spec.js
@@ -110,6 +110,8 @@ describe('HooksRunner', function() {
shell.cp('-R', path.join(__dirname, 'fixtures', 'platforms', 'android'), path.join(project, 'platforms'));
} else if(cmd.match(/update\b/)) {
fs.writeFileSync(path.join(project, 'platforms', helpers.testPlatform, 'updated'), 'I was updated!', 'utf-8');
+ } else if (cmd.match(/version/)) {
+ return '3.6.0';
}
return Q();
});
@@ -133,7 +135,7 @@ describe('HooksRunner', function() {
hookOptions = { projectRoot: project, cordova: options };
cordova.raw.plugin('add', testPluginFixturePath).fail(function (err) {
- expect(err).toBeUndefined();
+ expect(err && err.stack).toBeUndefined();
}).then(function () {
testPluginInstalledPath = path.join(projectRoot, 'plugins', 'com.plugin.withhooks');
shell.chmod('-R', 'ug+x', path.join(testPluginInstalledPath, 'scripts'));
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/d77ebc40/cordova-lib/src/plugman/install.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/install.js b/cordova-lib/src/plugman/install.js
index 0c95ad5..bcdbbac 100644
--- a/cordova-lib/src/plugman/install.js
+++ b/cordova-lib/src/plugman/install.js
@@ -586,6 +586,20 @@ function handleInstall(actions, pluginInfo, platform, project_dir, plugins_dir,
}
}).then (function() {
events.emit('verbose', 'Install complete for ' + pluginInfo.id + ' on ' + platform + '.');
+
+ if (platform == 'android' && semver.gte(options.platformVersion, '4.0.0-dev') && frameworkFiles.length > 0) {
+ events.emit('verbose', 'Updating build files since android plugin contained <framework>');
+ var buildModule;
+ try {
+ buildModule = require(path.join(project_dir, 'cordova', 'lib', 'build'));
+ } catch (e) {
+ // Should occur only in unit tests.
+ }
+ if (buildModule && buildModule.prepBuildFiles) {
+ buildModule.prepBuildFiles();
+ }
+ }
+
// WIN!
// Log out plugin INFO element contents in case additional install steps are necessary
var info_strings = pluginInfo.getInfo(platform) || [];
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/d77ebc40/cordova-lib/src/plugman/uninstall.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/uninstall.js b/cordova-lib/src/plugman/uninstall.js
index 1a14134..4d09996 100644
--- a/cordova-lib/src/plugman/uninstall.js
+++ b/cordova-lib/src/plugman/uninstall.js
@@ -21,6 +21,7 @@
var path = require('path'),
fs = require('fs'),
+ semver = require('semver'),
shell= require('shelljs'),
action_stack = require('./util/action-stack'),
dependencies = require('./util/dependencies'),
@@ -34,6 +35,7 @@ var path = require('path'),
HooksRunner = require('../hooks/HooksRunner'),
cordovaUtil = require('../cordova/util');
+var superspawn = require('../cordova/superspawn');
var PlatformJson = require('./util/PlatformJson');
var PluginInfoProvider = require('../PluginInfoProvider');
@@ -76,7 +78,15 @@ module.exports.uninstallPlatform = function(platform, project_dir, id, plugins_d
var current_stack = new action_stack();
- return runUninstallPlatform(current_stack, platform, project_dir, plugin_dir, plugins_dir, options);
+ return Q().then(function() {
+ if (options.platformVersion) {
+ return Q(options.platformVersion);
+ }
+ return Q(superspawn.maybeSpawn(path.join(project_dir, 'cordova', 'version')));
+ }).then(function(platformVersion) {
+ options.platformVersion = platformVersion;
+ return runUninstallPlatform(current_stack, platform, project_dir, plugin_dir, plugins_dir, options);
+ });
};
// Returns a promise.
@@ -355,5 +365,18 @@ function handleUninstall(actions, platform, pluginInfo, project_dir, www_dir, pl
} else {
return plugman.prepare(project_dir, platform, plugins_dir, www_dir, is_top_level, options.pluginInfoProvider);
}
+ }).then(function() {
+ if (platform == 'android' && semver.gte(options.platformVersion, '4.0.0-dev') && frameworkFiles.length > 0) {
+ events.emit('verbose', 'Updating build files since android plugin contained <framework>');
+ var buildModule;
+ try {
+ buildModule = require(path.join(project_dir, 'cordova', 'lib', 'build'));
+ } catch (e) {
+ // Should occur only in unit tests.
+ }
+ if (buildModule && buildModule.prepBuildFiles) {
+ buildModule.prepBuildFiles();
+ }
+ }
});
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org