cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From omef...@apache.org
Subject cordova-lib git commit: CB-9560 Issue using plugin restore for plugins with common dependencies (This closes #288)
Date Sat, 05 Sep 2015 03:29:47 GMT
Repository: cordova-lib
Updated Branches:
  refs/heads/master f68562747 -> 59cac5b69


CB-9560 Issue using plugin restore for plugins with common dependencies (This closes #288)


Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/59cac5b6
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/59cac5b6
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/59cac5b6

Branch: refs/heads/master
Commit: 59cac5b696fc85c1488289c9331a3a27ab9140cd
Parents: f685627
Author: Marcus Pridham <marcus.pridham@sap.com>
Authored: Wed Aug 26 14:37:32 2015 -0400
Committer: Omar Mefire <omefire@gmail.com>
Committed: Fri Sep 4 20:28:07 2015 -0700

----------------------------------------------------------------------
 cordova-lib/src/cordova/restore-util.js | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/59cac5b6/cordova-lib/src/cordova/restore-util.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/cordova/restore-util.js b/cordova-lib/src/cordova/restore-util.js
index aa3e9d2..bbcead8 100644
--- a/cordova-lib/src/cordova/restore-util.js
+++ b/cordova-lib/src/cordova/restore-util.js
@@ -90,7 +90,11 @@ function installPluginsFromConfigXML(args) {
         return Q.all('No config.xml plugins to install');
     }
 
-    var promises = plugins.map(function(featureId) {
+    // CB-9560 : Run `plugin add` serially, one plugin after another
+    // We need to wait for the plugin and its dependencies to be installed
+    // before installing the next root plugin otherwise we can have common
+    // plugin dependencies installed twice which throws a nasty error.
+    return promiseutil.Q_chainmap_graceful(plugins, function(featureId) {
         var pluginPath = path.join(plugins_dir, featureId);
         if (fs.existsSync(pluginPath)) {
             // Plugin already exists
@@ -111,5 +115,4 @@ function installPluginsFromConfigXML(args) {
         };
         return plugin('add', installFrom, options);
     });
-    return Q.allSettled(promises);
 }
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


Mime
View raw message