You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by fi...@apache.org on 2013/07/03 20:30:27 UTC

git commit: 0.8.2. Fixing event emitters. Require weirdness?

Updated Branches:
  refs/heads/master 6b01af349 -> c0ddac946


0.8.2. Fixing event emitters. Require weirdness?


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

Branch: refs/heads/master
Commit: c0ddac946494ce213a8dfdca5365130c61d378ad
Parents: 6b01af3
Author: Fil Maj <ma...@gmail.com>
Authored: Wed Jul 3 11:30:19 2013 -0700
Committer: Fil Maj <ma...@gmail.com>
Committed: Wed Jul 3 11:30:19 2013 -0700

----------------------------------------------------------------------
 package.json               |  2 +-
 plugman.js                 |  1 +
 spec/install.spec.js       |  3 +--
 src/fetch.js               |  9 ++++-----
 src/install.js             | 17 ++++++++---------
 src/prepare.js             |  9 ++++-----
 src/uninstall.js           |  7 +++----
 src/util/action-stack.js   | 19 +++++++++----------
 src/util/config-changes.js |  1 -
 src/util/plugins.js        | 11 +++++------
 10 files changed, 36 insertions(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/c0ddac94/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index e4180de..345fc06 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "author": "Andrew Lunny <al...@gmail.com>",
   "name": "plugman",
   "description": "install/uninstall Cordova plugins",
-  "version": "0.8.1",
+  "version": "0.8.2",
   "repository": {
     "type": "git",
     "url": "git://git-wip-us.apache.org/repos/asf/cordova-plugman.git"

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/c0ddac94/plugman.js
----------------------------------------------------------------------
diff --git a/plugman.js b/plugman.js
index 072d9b9..2775fe1 100755
--- a/plugman.js
+++ b/plugman.js
@@ -31,4 +31,5 @@ module.exports = {
     on:             emitter.addListener,
     off:            emitter.removeListener,
     removeAllListeners: emitter.removeAllListeners,
+    emit:           emitter.emit
 };

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/c0ddac94/spec/install.spec.js
----------------------------------------------------------------------
diff --git a/spec/install.spec.js b/spec/install.spec.js
index f51d92a..fd84e0e 100644
--- a/spec/install.spec.js
+++ b/spec/install.spec.js
@@ -8,7 +8,6 @@ var install = require('../src/install'),
     path    = require('path'),
     shell   = require('shelljs'),
     semver  = require('semver'),
-    events = require('../src/events'),
     temp    = __dirname,
     dummyplugin = 'DummyPlugin',
     dummy_id = 'com.phonegap.plugins.dummyplugin',
@@ -51,7 +50,7 @@ describe('install', function() {
             expect(add_to_queue).toHaveBeenCalledWith(plugins_dir, 'DummyPlugin', 'android', {}, true);
         });
         it('should notify if plugin is already installed into project', function() {
-            var spy = spyOn(events, 'emit');
+            var spy = spyOn(plugman, 'emit');
             get_json.andReturn({
                 installed_plugins:{
                     'com.phonegap.plugins.dummyplugin':{}

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/c0ddac94/src/fetch.js
----------------------------------------------------------------------
diff --git a/src/fetch.js b/src/fetch.js
index f712b0a..8f2064a 100644
--- a/src/fetch.js
+++ b/src/fetch.js
@@ -4,12 +4,11 @@ var shell   = require('shelljs'),
     plugins = require('./util/plugins'),
     xml_helpers = require('./util/xml-helpers'),
     metadata = require('./util/metadata'),
-    events  = require('./events'),
     path    = require('path');
 
 // possible options: link, subdir, git_ref
 module.exports = function fetchPlugin(plugin_dir, plugins_dir, options, callback) {
-    events.emit('log', 'Fetching plugin from location "' + plugin_dir + '"...');
+    require('../plugman').emit('log', 'Fetching plugin from location "' + plugin_dir + '"...');
     // Ensure the containing directory exists.
     shell.mkdir('-p', plugins_dir);
 
@@ -49,7 +48,7 @@ module.exports = function fetchPlugin(plugin_dir, plugins_dir, options, callback
         // First, read the plugin.xml and grab the ID.
         plugin_dir = path.join(uri.path, options.subdir);
         var plugin_xml_path = path.join(plugin_dir, 'plugin.xml');
-        events.emit('log', 'Fetch is reading plugin.xml from location "' + plugin_xml_path + '"...');
+        require('../plugman').emit('log', 'Fetch is reading plugin.xml from location "' + plugin_xml_path + '"...');
         var xml = xml_helpers.parseElementtreeSync(plugin_xml_path);
         var plugin_id = xml.getroot().attrib.id;
 
@@ -57,11 +56,11 @@ module.exports = function fetchPlugin(plugin_dir, plugins_dir, options, callback
 
         shell.rm('-rf', dest);
         if (options.link) {
-            events.emit('log', 'Symlinking from location "' + plugin_dir + '" to location "' + dest + '"');
+            require('../plugman').emit('log', 'Symlinking from location "' + plugin_dir + '" to location "' + dest + '"');
             fs.symlinkSync(plugin_dir, dest, 'dir');
         } else {
             shell.mkdir('-p', dest);
-            events.emit('log', 'Copying from location "' + plugin_dir + '" to location "' + dest + '"');
+            require('../plugman').emit('log', 'Copying from location "' + plugin_dir + '" to location "' + dest + '"');
             shell.cp('-R', path.join(plugin_dir, '*'), dest);
         }
 

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/c0ddac94/src/install.js
----------------------------------------------------------------------
diff --git a/src/install.js b/src/install.js
index e07b973..2c2c025 100644
--- a/src/install.js
+++ b/src/install.js
@@ -2,7 +2,6 @@ var path = require('path'),
     fs   = require('fs'),
     et   = require('elementtree'),
     n    = require('ncallbacks'),
-    events = require('./events'),
     action_stack = require('./util/action-stack'),
     shell = require('shelljs'),
     semver = require('semver'),
@@ -72,7 +71,7 @@ function runInstall(actions, platform, project_dir, plugin_dir, plugins_dir, opt
       , filtered_variables = {};
     var name         = plugin_et.findall('name').text;
     var plugin_id    = plugin_et.getroot().attrib['id'];
-    events.emit('log', 'Starting installation of "' + plugin_id + '"...');
+    require('../plugman').emit('log', 'Starting installation of "' + plugin_id + '"...');
 
     // check if platform has plugin installed already.
     var platform_config = config_changes.get_platform_json(plugins_dir, platform);
@@ -89,7 +88,7 @@ function runInstall(actions, platform, project_dir, plugin_dir, plugins_dir, opt
         }
     });
     if (is_installed) {
-        events.emit('log', 'Plugin "' + plugin_id + '" already installed, \'sall good.');
+        require('../plugman').emit('log', 'Plugin "' + plugin_id + '" already installed, \'sall good.');
         if (callback) callback();
         return;
     }
@@ -123,7 +122,7 @@ function runInstall(actions, platform, project_dir, plugin_dir, plugins_dir, opt
             });
         }
     } else {
-        events.emit('log', 'Cordova project version not detected (lacks a ./cordova/version script), continuing.');
+        require('../plugman').emit('log', 'Cordova project version not detected (lacks a ./cordova/version script), continuing.');
     }
 
     // checking preferences, if certain variables are not provided, we should throw.
@@ -148,7 +147,7 @@ function runInstall(actions, platform, project_dir, plugin_dir, plugins_dir, opt
     // Check for dependencies, (co)recurse to install each one
     var dependencies = plugin_et.findall('dependency');
     if (dependencies && dependencies.length) {
-        events.emit('log', 'Dependencies detected, iterating through them...');
+        require('../plugman').emit('log', 'Dependencies detected, iterating through them...');
         var end = n(dependencies.length, function() {
             handleInstall(actions, plugin_id, plugin_et, platform, project_dir, plugins_dir, plugin_basename, plugin_dir, filtered_variables, options.www_dir, options.is_top_level, callback);
         });
@@ -204,7 +203,7 @@ function runInstall(actions, platform, project_dir, plugin_dir, plugins_dir, opt
 
             var dep_plugin_dir = path.join(plugins_dir, dep_plugin_id);
             if (fs.existsSync(dep_plugin_dir)) {
-                events.emit('log', 'Dependent plugin "' + dep_plugin_id + '" already fetched, using that version.');
+                require('../plugman').emit('log', 'Dependent plugin "' + dep_plugin_id + '" already fetched, using that version.');
                 var opts = {
                     cli_variables: filtered_variables,
                     www_dir: options.www_dir,
@@ -212,7 +211,7 @@ function runInstall(actions, platform, project_dir, plugin_dir, plugins_dir, opt
                 };
                 runInstall(actions, platform, project_dir, dep_plugin_dir, plugins_dir, opts, end);
             } else {
-                events.emit('log', 'Dependent plugin "' + dep_plugin_id + '" not fetched, retrieving then installing.');
+                require('../plugman').emit('log', 'Dependent plugin "' + dep_plugin_id + '" not fetched, retrieving then installing.');
                 var opts = {
                     cli_variables: filtered_variables,
                     www_dir: options.www_dir,
@@ -235,7 +234,7 @@ function runInstall(actions, platform, project_dir, plugin_dir, plugins_dir, opt
 }
 
 function handleInstall(actions, plugin_id, plugin_et, platform, project_dir, plugins_dir, plugin_basename, plugin_dir, filtered_variables, www_dir, is_top_level, callback) {
-    events.emit('log', 'Installing plugin ' + plugin_id + '...');
+    require('../plugman').emit('log', 'Installing plugin ' + plugin_id + '...');
     var handler = platform_modules[platform];
     www_dir = www_dir || handler.www_dir(project_dir);
 
@@ -295,7 +294,7 @@ function handleInstall(actions, plugin_id, plugin_et, platform, project_dir, plu
             // call prepare after a successful install
             require('./../plugman').prepare(project_dir, platform, plugins_dir);
 
-            events.emit('log', plugin_id + ' installed.');
+            require('../plugman').emit('log', plugin_id + ' installed.');
             if (callback) callback();
         }
     });

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/c0ddac94/src/prepare.js
----------------------------------------------------------------------
diff --git a/src/prepare.js b/src/prepare.js
index a608dcc..4904975 100644
--- a/src/prepare.js
+++ b/src/prepare.js
@@ -18,7 +18,6 @@
 */
 
 var platform_modules = require('./platforms'),
-    events          = require('./events'),
     path            = require('path'),
     config_changes  = require('./util/config-changes'),
     xml_helpers     = require('./util/xml-helpers'),
@@ -43,7 +42,7 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir) {
     // - Write this object into www/cordova_plugins.json.
     // - Cordova.js contains code to load them at runtime from that file.
 
-    events.emit('log', 'Preparing ' + platform + ' project, starting with processing of config changes...');
+    require('../plugman').emit('log', 'Preparing ' + platform + ' project, starting with processing of config changes...');
     config_changes.process(plugins_dir, project_dir, platform);
 
     var wwwDir = platform_modules[platform].www_dir(project_dir);
@@ -54,7 +53,7 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir) {
 
     // This array holds all the metadata for each module and ends up in cordova_plugins.json
     var moduleObjects = [];
-    events.emit('log', 'Iterating over installed plugins...');
+    require('../plugman').emit('log', 'Iterating over installed plugins...');
 
     plugins && plugins.forEach(function(plugin) {
         var pluginDir = path.join(plugins_dir, plugin);
@@ -124,7 +123,7 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir) {
         }
     });
 
-    events.emit('log', 'Writing out cordova_plugins.json...');
+    require('../plugman').emit('log', 'Writing out cordova_plugins.json...');
     // Write out moduleObjects as JSON to cordova_plugins.json
     fs.writeFileSync(path.join(wwwDir, 'cordova_plugins.json'), JSON.stringify(moduleObjects), 'utf-8');
     // Write out moduleObjects as JSON wrapped in a cordova module to cordova_plugins.js
@@ -132,6 +131,6 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir) {
     var final_contents = "cordova.define('cordova/plugin_list', function(require, exports, module) {\n";
     final_contents += 'module.exports = ' + JSON.stringify(moduleObjects) + '\n';
     final_contents += '});';
-    events.emit('log', 'Writing out cordova_plugins.js...');
+    require('../plugman').emit('log', 'Writing out cordova_plugins.js...');
     fs.writeFileSync(path.join(wwwDir, 'cordova_plugins.js'), final_contents, 'utf-8');
 };

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/c0ddac94/src/uninstall.js
----------------------------------------------------------------------
diff --git a/src/uninstall.js b/src/uninstall.js
index 5cb807b..dbe0fae 100644
--- a/src/uninstall.js
+++ b/src/uninstall.js
@@ -6,7 +6,6 @@ var path = require('path'),
     xml_helpers = require('./util/xml-helpers'),
     action_stack = require('./util/action-stack'),
     n = require('ncallbacks'),
-    events = require('./events'),
     dependencies = require('./util/dependencies'),
     underscore = require('underscore'),
     platform_modules = require('./platforms');
@@ -63,7 +62,7 @@ function runUninstall(actions, platform, project_dir, plugin_dir, plugins_dir, o
     diff_arr.unshift(dependents);
     var danglers = underscore.difference.apply(null, diff_arr);
     if (dependents.length && danglers && danglers.length) {
-        events.emit('log', 'Uninstalling ' + danglers.length + ' dangling dependent plugins...');
+        require('../plugman').emit('log', 'Uninstalling ' + danglers.length + ' dangling dependent plugins...');
         var end = n(danglers.length, function() {
             handleUninstall(actions, platform, plugin_id, plugin_et, project_dir, options.www_dir, plugins_dir, plugin_dir, options.is_top_level, callback);
         });
@@ -87,7 +86,7 @@ function handleUninstall(actions, platform, plugin_id, plugin_et, project_dir, w
     var handler = platform_modules[platform];
     var platformTag = plugin_et.find('./platform[@name="'+platform+'"]');
     www_dir = www_dir || handler.www_dir(project_dir);
-    events.emit('log', 'Uninstalling ' + plugin_id + '...');
+    require('../plugman').emit('log', 'Uninstalling ' + plugin_id + '...');
 
     var assets = plugin_et.findall('./asset');
     if (platformTag) {
@@ -134,7 +133,7 @@ function handleUninstall(actions, platform, plugin_id, plugin_et, project_dir, w
             require('./../plugman').prepare(project_dir, platform, plugins_dir);
             // axe the directory
             shell.rm('-rf', plugin_dir);
-            events.emit('log', plugin_id + ' uninstalled.');
+            require('../plugman').emit('log', plugin_id + ' uninstalled.');
             if (callback) callback();
         }
     });

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/c0ddac94/src/util/action-stack.js
----------------------------------------------------------------------
diff --git a/src/util/action-stack.js b/src/util/action-stack.js
index c26bd9e..fb63ce8 100644
--- a/src/util/action-stack.js
+++ b/src/util/action-stack.js
@@ -1,7 +1,6 @@
 var ios = require('../platforms/ios'),
     wp7 = require('../platforms/wp7'),
     wp8 = require('../platforms/wp8'),
-    events = require('../events'),
     fs = require('fs');
 
 function ActionStack() {
@@ -26,19 +25,19 @@ ActionStack.prototype = {
         this.stack.push(tx);
     },
     process:function(platform, project_dir, callback) {
-        events.emit('log', 'Beginning processing of action stack for ' + platform + ' project...');
+        require('../../plugman').emit('log', 'Beginning processing of action stack for ' + platform + ' project...');
         var project_files;
         // parse platform-specific project files once
         if (platform == 'ios') {
-            events.emit('log', 'Parsing iOS project files...');
+            require('../../plugman').emit('log', 'Parsing iOS project files...');
             project_files = ios.parseIOSProjectFiles(project_dir);
         }
         if (platform == 'wp7') {
-            events.emit('log', 'Parsing WP7 project files...');
+            require('../../plugman').emit('log', 'Parsing WP7 project files...');
             project_files = wp7.parseWP7ProjectFile(project_dir);
         }
         if (platform == 'wp8') {
-            events.emit('log', 'Parsing WP8 project files...');
+            require('../../plugman').emit('log', 'Parsing WP8 project files...');
             project_files = wp8.parseWP8ProjectFile(project_dir);
         } 
         while(this.stack.length) {
@@ -49,7 +48,7 @@ ActionStack.prototype = {
             try {
                 handler.apply(null, action_params);
             } catch(e) {
-                events.emit('warn', 'Error during processing of action! Attempting to revert...');
+                require('../../plugman').emit('warn', 'Error during processing of action! Attempting to revert...');
                 var incomplete = this.stack.unshift(action);
                 var issue = 'Uh oh!\n';
                 // revert completed tasks
@@ -61,7 +60,7 @@ ActionStack.prototype = {
                     try {
                         revert.apply(null, revert_params);
                     } catch(err) {
-                        events.emit('warn', 'Error during reversion of action! We probably really messed up your project now, sorry! D:');
+                        require('../plugman').emit('warn', 'Error during reversion of action! We probably really messed up your project now, sorry! D:');
                         issue += 'A reversion action failed: ' + err.message + '\n';
                     }
                 }
@@ -71,14 +70,14 @@ ActionStack.prototype = {
             }
             this.completed.push(action);
         }
-        events.emit('log', 'Action stack processing complete.');
+        require('../../plugman').emit('log', 'Action stack processing complete.');
         if (platform == 'ios') {
             // write out xcodeproj file
-            events.emit('log', 'Writing out iOS pbxproj file...');
+            require('../../plugman').emit('log', 'Writing out iOS pbxproj file...');
             fs.writeFileSync(project_files.pbx, project_files.xcode.writeSync());
         }
         if (platform == 'wp7' || platform == 'wp8') {
-            events.emit('log', 'Writing out ' + platform + ' project files...');
+            require('../../plugman').emit('log', 'Writing out ' + platform + ' project files...');
             project_files.write();
         }
         if (callback) callback();

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/c0ddac94/src/util/config-changes.js
----------------------------------------------------------------------
diff --git a/src/util/config-changes.js b/src/util/config-changes.js
index c49c705..4a4d7ac 100644
--- a/src/util/config-changes.js
+++ b/src/util/config-changes.js
@@ -23,7 +23,6 @@ var fs   = require('fs'),
     plist = require('plist'),
     bplist = require('bplist-parser'),
     et   = require('elementtree'),
-    events = require('../events'),
     xml_helpers = require('./../util/xml-helpers'),
     plist_helpers = require('./../util/plist-helpers');
 

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/c0ddac94/src/util/plugins.js
----------------------------------------------------------------------
diff --git a/src/util/plugins.js b/src/util/plugins.js
index 706d352..90b24f7 100644
--- a/src/util/plugins.js
+++ b/src/util/plugins.js
@@ -24,7 +24,6 @@ var http = require('http'),
     util = require('util'),
     shell = require('shelljs'),
     xml_helpers = require('./xml-helpers'),
-    events = require('../events'),
     tmp_dir = path.join(os.tmpdir(), 'plugman-tmp');
 
 module.exports = {
@@ -41,14 +40,14 @@ module.exports = {
 
         shell.cd(path.dirname(tmp_dir));
         var cmd = util.format('git clone "%s" "%s"', plugin_git_url, path.basename(tmp_dir));
-        events.emit('log', 'Fetching plugin via git-clone command: ' + cmd);
+        require('../../plugman').emit('log', 'Fetching plugin via git-clone command: ' + cmd);
         shell.exec(cmd, {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 + ', output: ' + output);
                 if (callback) return callback(err)
                 else throw err;
             } else {
-                events.emit('log', 'Plugin "' + plugin_git_url + '" fetched.');
+                require('../../plugman').emit('log', 'Plugin "' + plugin_git_url + '" fetched.');
                 // Check out the specified revision, if provided.
                 if (git_ref) {
                     var cmd = util.format('cd "%s" && git checkout "%s"', tmp_dir, git_ref);
@@ -58,7 +57,7 @@ module.exports = {
                         if (callback) return callback(err);
                         else throw err;
                     }
-                    events.emit('log', 'Plugin "' + plugin_git_url + '" checked out to git ref "' + git_ref + '".');
+                    require('../../plugman').emit('log', 'Plugin "' + plugin_git_url + '" checked out to git ref "' + git_ref + '".');
                 }
 
                 // Read the plugin.xml file and extract the plugin's ID.
@@ -70,11 +69,11 @@ module.exports = {
 
                 // TODO: what if a plugin dependended on different subdirectories of the same plugin? this would fail.
                 // should probably copy over entire plugin git repo contents into plugins_dir and handle subdir seperately during install.
-                events.emit('log', 'Copying fetched plugin over "' + plugin_dir + '"...');
+                require('../../plugman').emit('log', 'Copying fetched plugin over "' + plugin_dir + '"...');
                 var plugin_dir = path.join(plugins_dir, plugin_id);
                 shell.cp('-R', path.join(tmp_dir, '*'), plugin_dir);
 
-                events.emit('log', 'Plugin "' + plugin_id + '" fetched.');
+                require('../../plugman').emit('log', 'Plugin "' + plugin_id + '" fetched.');
                 if (callback) callback(null, plugin_dir);
             }
         });