Updated Branches:
  refs/heads/master 1cd301219 -> 372b0a3a2

clonePluginGitRepo provides the dir of cloned plugin as callback param. 
propagates back to install module during a install->fetch->install flow.


Project: http://git-wip-us.apache.org/repos/asf/cordova-plugman/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugman/commit/372b0a3a
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugman/tree/372b0a3a
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugman/diff/372b0a3a

Branch: refs/heads/master
Commit: 372b0a3a2e7631502aa2f0cdeb35ba2034c2124e
Parents: 1cd3012
Author: Fil Maj <[email protected]>
Authored: Wed Apr 24 11:00:12 2013 -0700
Committer: Fil Maj <[email protected]>
Committed: Wed Apr 24 11:00:12 2013 -0700

----------------------------------------------------------------------
 src/fetch.js        |    2 +-
 src/install.js      |    5 +++--
 src/util/plugins.js |    5 +++--
 3 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/372b0a3a/src/fetch.js
----------------------------------------------------------------------
diff --git a/src/fetch.js b/src/fetch.js
index d20cf08..f01c3e2 100644
--- a/src/fetch.js
+++ b/src/fetch.js
@@ -29,6 +29,6 @@ module.exports = function fetchPlugin(plugin_dir, 
plugins_dir, link, callback) {
             shell.cp('-R', plugin_dir, plugins_dir); // Yes, not dest.
         }
 
-        if (callback) callback(null);
+        if (callback) callback(null, dest);
     }
 };

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/372b0a3a/src/install.js
----------------------------------------------------------------------
diff --git a/src/install.js b/src/install.js
index 560ce72..e3a9423 100644
--- a/src/install.js
+++ b/src/install.js
@@ -19,10 +19,11 @@ module.exports = function installPlugin(platform, 
project_dir, name, plugins_dir
     // Check that the plugin has already been fetched.
     if (!fs.existsSync(plugin_dir)) {
         // if plugin doesnt exist, use fetch to get it.
-        require('../plugman').fetch(name, plugins_dir, false, function(err) {
+        require('../plugman').fetch(name, plugins_dir, false, function(err, 
plugin_dir) {
             if (err) {
                 callback(err);
             } else {
+                // update ref to plugin_dir after successful fetch, via fetch 
callback
                 runInstall(platform, project_dir, plugin_dir, plugins_dir, 
cli_variables, callback);
             }
         });
@@ -49,7 +50,7 @@ function runInstall(platform, project_dir, plugin_dir, 
plugins_dir, cli_variable
             missing_vars.push(key)
         else
             filtered_variables[key] = cli_variables[key]
-    })
+    });
     if (missing_vars.length > 0) {
         var err = new Error('Variable(s) missing: ' + missing_vars.join(", "));
         if (callback) {

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/372b0a3a/src/util/plugins.js
----------------------------------------------------------------------
diff --git a/src/util/plugins.js b/src/util/plugins.js
index 1ad4936..52739be 100644
--- a/src/util/plugins.js
+++ b/src/util/plugins.js
@@ -91,17 +91,18 @@ module.exports = {
         var plugin_dir = path.join(plugins_dir, basename);
 
         // trash it if it already exists (something went wrong before probably)
+        // TODO: is this the correct behaviour?
         if(fs.existsSync(plugin_dir)) {
             shell.rm('-rf', plugin_dir);
         }
 
-        shell.exec('git clone ' + plugin_git_url + ' ' + plugin_dir + ' 2>&1 
1>/dev/null', {silent: true, async:true}, function(code, output) {
+        shell.exec('git clone ' + plugin_git_url + ' ' + plugin_dir, {silent: 
true, async:true}, function(code, output) {
             if (code > 0) {
                 var err = new Error('failed to get the plugin via git from URL 
'+ plugin_git_url);
                 if (callback) callback(err)
                 else throw err;
             } else {
-                if (callback) callback(null);
+                if (callback) callback(null, plugin_dir);
             }
         });
     }

Reply via email to