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 2012/11/28 19:16:24 UTC

[43/50] git commit: landed module-level events/hooks. tweaks to tests

landed module-level events/hooks. tweaks to tests


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

Branch: refs/heads/master
Commit: 79407964b68e5cce6c3096e3b5b931749d5beff2
Parents: 487cbb3
Author: Fil Maj <ma...@gmail.com>
Authored: Fri Oct 5 18:49:34 2012 -0700
Committer: Fil Maj <ma...@gmail.com>
Committed: Fri Oct 5 18:49:34 2012 -0700

----------------------------------------------------------------------
 cordova.js                 |   10 +++++++++-
 spec/build.spec.js         |    4 +++-
 spec/config_parser.spec.js |    6 +++---
 src/docs.js                |    3 +++
 src/hooker.js              |    6 ++++++
 5 files changed, 24 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/79407964/cordova.js
----------------------------------------------------------------------
diff --git a/cordova.js b/cordova.js
index e3149cc..a822479 100755
--- a/cordova.js
+++ b/cordova.js
@@ -1,3 +1,5 @@
+var cordova_events = require('./src/events');
+
 module.exports = {
     help:     require('./src/help'),
     docs:     require('./src/docs'),
@@ -5,5 +7,11 @@ module.exports = {
     platform: require('./src/platform'),
     build:    require('./src/build'),
     emulate:  require('./src/emulate'),
-    plugin:   require('./src/plugin')
+    plugin:   require('./src/plugin'),
+    on:       function() {
+        cordova_events.on.apply(cordova_events, arguments);
+    },
+    emit:     function() {
+        cordova_events.emit.apply(cordova_events, arguments);
+    }
 };

http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/79407964/spec/build.spec.js
----------------------------------------------------------------------
diff --git a/spec/build.spec.js b/spec/build.spec.js
index f0c4c0e..b2d4112 100644
--- a/spec/build.spec.js
+++ b/spec/build.spec.js
@@ -17,9 +17,11 @@ var cwd = process.cwd();
 describe('build command', function() {
     beforeEach(function() {
         // Make a temp directory
-        shell.rm('-rf', tempDir);
         shell.mkdir('-p', tempDir);
     });
+    afterEach(function() {
+        shell.rm('-rf', tempDir);
+    });
 
     it('should not run inside a Cordova-based project with no added platforms', function() {
         this.after(function() {

http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/79407964/spec/config_parser.spec.js
----------------------------------------------------------------------
diff --git a/spec/config_parser.spec.js b/spec/config_parser.spec.js
index 4fa28a7..74c9067 100644
--- a/spec/config_parser.spec.js
+++ b/spec/config_parser.spec.js
@@ -9,11 +9,11 @@ var cordova = require('../cordova'),
 
 describe('config.xml parser', function () {
     beforeEach(function() {
-        // Make a temp directory
-        shell.rm('-rf', tempDir);
-        shell.mkdir('-p', tempDir);
         cordova.create(tempDir);
     });
+    afterEach(function() {
+        shell.rm('-rf', tempDir);
+    });
 
     it('should create an instance based on an xml file', function() {
         var cfg;

http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/79407964/src/docs.js
----------------------------------------------------------------------
diff --git a/src/docs.js b/src/docs.js
index db734af..75c070f 100644
--- a/src/docs.js
+++ b/src/docs.js
@@ -1,11 +1,13 @@
 var express = require('express'),
     path    = require('path'),
     colors  = require('colors'),
+    events  = require('./events'),
     port    = 2222,
     statik  = path.join(__dirname, '..', 'doc'),
     server  = express();
 
 module.exports = function docs () {
+    events.emit('before_docs');
     server.configure(function() {
         server.use(express['static'](statik));
         server.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
@@ -18,4 +20,5 @@ module.exports = function docs () {
     console.log("\nServing Cordova/Docs at: ".grey + 'http://localhost:2222'.blue.underline + "\n");
     console.log('Hit ctrl + c to terminate the process.'.cyan);
     server.listen(parseInt(port, 10));
+    events.emit('after_docs');
 };

http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/79407964/src/hooker.js
----------------------------------------------------------------------
diff --git a/src/hooker.js b/src/hooker.js
index 4fbad53..e01d9e2 100644
--- a/src/hooker.js
+++ b/src/hooker.js
@@ -1,6 +1,7 @@
 var shell = require('shelljs'),
     util  = require('./util'),
     fs    = require('fs'),
+    events= require('./events'),
     path  = require('path');
 
 module.exports = function hooker(root) {
@@ -13,6 +14,11 @@ module.exports.prototype = {
     fire:function fire(hook) {
         var dir = path.join(this.root, '.cordova', 'hooks', hook);
         if (!(fs.existsSync(dir))) throw 'Unrecognized hook "' + hook + '".';
+
+        // Fire JS hook/event
+        events.emit(hook);
+
+        // Fire script-based hooks
         var contents = fs.readdirSync(dir);
         contents.forEach(function(script) {
             var status = shell.exec(path.join(dir, script));