You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by lo...@apache.org on 2013/05/07 17:19:06 UTC

[29/30] git commit: [BlackBerry10] Adding support for new BlackBerry10 platform

[BlackBerry10] Adding support for new BlackBerry10 platform

Reviewed by Bryan Higgins <bh...@blackberry.com>


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

Branch: refs/heads/future
Commit: a65d10ede02f5a0e29c6207b450970894eba5512
Parents: ee696a8
Author: Jeffrey Heifetz <jh...@blackberry.com>
Authored: Wed Apr 24 13:37:09 2013 -0400
Committer: Bryan Higgins <bh...@blackberry.com>
Committed: Thu Apr 25 16:20:56 2013 -0400

----------------------------------------------------------------------
 main.js                                            |    2 +-
 spec/install.spec.js                               |    6 +-
 spec/platforms/blackberry.spec.js                  |  169 --
 spec/platforms/blackberry10.spec.js                |  120 +
 spec/plugins/DummyPlugin/plugin.xml                |   11 +-
 spec/plugins/DummyPlugin/src/blackberry/client.js  |   19 -
 spec/plugins/DummyPlugin/src/blackberry/index.js   |   19 -
 spec/plugins/DummyPlugin/src/blackberry10/index.js |   19 +
 spec/plugins/FaultyPlugin/plugin.xml               |    9 +-
 spec/plugins/cordova.echo/plugin.xml               |   19 +-
 spec/plugins/cordova.echo/src/blackberry/client.js |   53 -
 .../src/blackberry/device/echoJnext.so             |  Bin 1291818 -> 0 bytes
 spec/plugins/cordova.echo/src/blackberry/index.js  |   85 -
 .../cordova.echo/src/blackberry/manifest.json      |    5 -
 .../src/blackberry/public/json/autolink.h          |   19 -
 .../src/blackberry/public/json/config.h            |   43 -
 .../src/blackberry/public/json/features.h          |   42 -
 .../src/blackberry/public/json/forwards.h          |   39 -
 .../cordova.echo/src/blackberry/public/json/json.h |   10 -
 .../src/blackberry/public/json/reader.h            |  196 --
 .../src/blackberry/public/json/value.h             | 1069 ---------
 .../src/blackberry/public/json/writer.h            |  174 --
 .../src/blackberry/public/json_batchallocator.h    |  125 --
 .../src/blackberry/public/json_internalarray.inl   |  448 ----
 .../src/blackberry/public/json_internalmap.inl     |  607 -----
 .../src/blackberry/public/json_reader.cpp          |  894 --------
 .../src/blackberry/public/json_value.cpp           | 1726 ---------------
 .../src/blackberry/public/json_valueiterator.inl   |  292 ---
 .../src/blackberry/public/json_writer.cpp          |  829 -------
 .../cordova.echo/src/blackberry/public/plugin.cpp  |  320 ---
 .../cordova.echo/src/blackberry/public/plugin.h    |   70 -
 .../src/blackberry/public/tokenizer.cpp            |  222 --
 .../cordova.echo/src/blackberry/public/tokenizer.h |   55 -
 .../src/blackberry/simulator/echoJnext.so          |  Bin 231778 -> 0 bytes
 .../cordova.echo/src/blackberry/src/echo.cpp       |  121 -
 .../cordova.echo/src/blackberry/src/echo.hpp       |   45 -
 .../plugins/cordova.echo/src/blackberry10/index.js |   85 +
 .../src/blackberry10/native/device/echoJnext.so    |  Bin 0 -> 1291818 bytes
 .../src/blackberry10/native/public/json/autolink.h |   19 +
 .../src/blackberry10/native/public/json/config.h   |   43 +
 .../src/blackberry10/native/public/json/features.h |   42 +
 .../src/blackberry10/native/public/json/forwards.h |   39 +
 .../src/blackberry10/native/public/json/json.h     |   10 +
 .../src/blackberry10/native/public/json/reader.h   |  196 ++
 .../src/blackberry10/native/public/json/value.h    | 1069 +++++++++
 .../src/blackberry10/native/public/json/writer.h   |  174 ++
 .../native/public/json_batchallocator.h            |  125 ++
 .../native/public/json_internalarray.inl           |  448 ++++
 .../native/public/json_internalmap.inl             |  607 +++++
 .../src/blackberry10/native/public/json_reader.cpp |  894 ++++++++
 .../src/blackberry10/native/public/json_value.cpp  | 1726 +++++++++++++++
 .../native/public/json_valueiterator.inl           |  292 +++
 .../src/blackberry10/native/public/json_writer.cpp |  829 +++++++
 .../src/blackberry10/native/public/plugin.cpp      |  320 +++
 .../src/blackberry10/native/public/plugin.h        |   70 +
 .../src/blackberry10/native/public/tokenizer.cpp   |  222 ++
 .../src/blackberry10/native/public/tokenizer.h     |   55 +
 .../src/blackberry10/native/simulator/echoJnext.so |  Bin 0 -> 231778 bytes
 .../src/blackberry10/native/src/echo.cpp           |  121 +
 .../src/blackberry10/native/src/echo.hpp           |   45 +
 spec/plugins/cordova.echo/src/device/echoJnext.so  |  Bin 1291818 -> 0 bytes
 .../cordova.echo/src/simulator/echoJnext.so        |  Bin 231778 -> 0 bytes
 spec/plugins/cordova.echo/www/client.js            |   53 +
 spec/projects/blackberry/www/config.xml            |   97 -
 spec/projects/blackberry/www/plugins.xml           |   35 -
 spec/projects/blackberry10/www/config.xml          |   97 +
 spec/uninstall.spec.js                             |    6 +-
 src/platforms.js                                   |    2 +-
 src/platforms/blackberry.js                        |  101 -
 src/platforms/blackberry10.js                      |   91 +
 test/blackberry-install.js                         |  105 -
 test/blackberry-uninstall.js                       |  117 -
 test/blackberry10-install.js                       |  105 +
 test/blackberry10-uninstall.js                     |  117 +
 test/plugins/DummyPlugin/plugin.xml                |   12 +-
 test/plugins/DummyPlugin/src/blackberry/client.js  |   19 -
 test/plugins/DummyPlugin/src/blackberry/index.js   |   19 -
 test/plugins/DummyPlugin/src/blackberry10/index.js |   19 +
 test/plugins/cordova.echo/plugin.xml               |   19 +-
 test/plugins/cordova.echo/src/blackberry/client.js |   53 -
 .../src/blackberry/device/echoJnext.so             |  Bin 1291818 -> 0 bytes
 test/plugins/cordova.echo/src/blackberry/index.js  |   85 -
 .../cordova.echo/src/blackberry/manifest.json      |    5 -
 .../src/blackberry/public/json/autolink.h          |   19 -
 .../src/blackberry/public/json/config.h            |   43 -
 .../src/blackberry/public/json/features.h          |   42 -
 .../src/blackberry/public/json/forwards.h          |   39 -
 .../cordova.echo/src/blackberry/public/json/json.h |   10 -
 .../src/blackberry/public/json/reader.h            |  196 --
 .../src/blackberry/public/json/value.h             | 1069 ---------
 .../src/blackberry/public/json/writer.h            |  174 --
 .../src/blackberry/public/json_batchallocator.h    |  125 --
 .../src/blackberry/public/json_internalarray.inl   |  448 ----
 .../src/blackberry/public/json_internalmap.inl     |  607 -----
 .../src/blackberry/public/json_reader.cpp          |  894 --------
 .../src/blackberry/public/json_value.cpp           | 1726 ---------------
 .../src/blackberry/public/json_valueiterator.inl   |  292 ---
 .../src/blackberry/public/json_writer.cpp          |  829 -------
 .../cordova.echo/src/blackberry/public/plugin.cpp  |  320 ---
 .../cordova.echo/src/blackberry/public/plugin.h    |   70 -
 .../src/blackberry/public/tokenizer.cpp            |  222 --
 .../cordova.echo/src/blackberry/public/tokenizer.h |   55 -
 .../src/blackberry/simulator/echoJnext.so          |  Bin 231778 -> 0 bytes
 .../cordova.echo/src/blackberry/src/echo.cpp       |  121 -
 .../cordova.echo/src/blackberry/src/echo.hpp       |   45 -
 .../plugins/cordova.echo/src/blackberry10/index.js |   85 +
 .../src/blackberry10/native/device/echoJnext.so    |  Bin 0 -> 1291818 bytes
 .../src/blackberry10/native/public/json/autolink.h |   19 +
 .../src/blackberry10/native/public/json/config.h   |   43 +
 .../src/blackberry10/native/public/json/features.h |   42 +
 .../src/blackberry10/native/public/json/forwards.h |   39 +
 .../src/blackberry10/native/public/json/json.h     |   10 +
 .../src/blackberry10/native/public/json/reader.h   |  196 ++
 .../src/blackberry10/native/public/json/value.h    | 1069 +++++++++
 .../src/blackberry10/native/public/json/writer.h   |  174 ++
 .../native/public/json_batchallocator.h            |  125 ++
 .../native/public/json_internalarray.inl           |  448 ++++
 .../native/public/json_internalmap.inl             |  607 +++++
 .../src/blackberry10/native/public/json_reader.cpp |  894 ++++++++
 .../src/blackberry10/native/public/json_value.cpp  | 1726 +++++++++++++++
 .../native/public/json_valueiterator.inl           |  292 +++
 .../src/blackberry10/native/public/json_writer.cpp |  829 +++++++
 .../src/blackberry10/native/public/plugin.cpp      |  320 +++
 .../src/blackberry10/native/public/plugin.h        |   70 +
 .../src/blackberry10/native/public/tokenizer.cpp   |  222 ++
 .../src/blackberry10/native/public/tokenizer.h     |   55 +
 .../src/blackberry10/native/simulator/echoJnext.so |  Bin 0 -> 231778 bytes
 .../src/blackberry10/native/src/echo.cpp           |  121 +
 .../src/blackberry10/native/src/echo.hpp           |   45 +
 test/plugins/cordova.echo/src/device/echoJnext.so  |  Bin 1291818 -> 0 bytes
 .../cordova.echo/src/simulator/echoJnext.so        |  Bin 231778 -> 0 bytes
 test/plugins/cordova.echo/www/client.js            |   53 +
 test/projects/blackberry/www/config.xml            |   97 -
 test/projects/blackberry/www/plugins.xml           |   35 -
 test/projects/blackberry10/www/config.xml          |   97 +
 135 files changed, 15668 insertions(+), 15861 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/main.js
----------------------------------------------------------------------
diff --git a/main.js b/main.js
index fc50c23..6ebbb68 100755
--- a/main.js
+++ b/main.js
@@ -26,7 +26,7 @@ var path = require('path')
     , plugins = require('./src/util/plugins')
     , plugman = require('./plugman');
 
-var known_opts = { 'platform' : [ 'ios', 'android', 'blackberry', 'wp7', 'wp8' ]
+var known_opts = { 'platform' : [ 'ios', 'android', 'blackberry10', 'wp7', 'wp8' ]
             , 'project' : path
             , 'plugin' : [String, path, url]
             , 'remove' : Boolean

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/install.spec.js
----------------------------------------------------------------------
diff --git a/spec/install.spec.js b/spec/install.spec.js
index b973b11..1656328 100644
--- a/spec/install.spec.js
+++ b/spec/install.spec.js
@@ -1,7 +1,7 @@
 var install = require('../src/install'),
     android = require('../src/platforms/android'),
     ios     = require('../src/platforms/ios'),
-    blackberry = require('../src/platforms/blackberry'),
+    blackberry10 = require('../src/platforms/blackberry10'),
     plugman = require('../plugman'),
     fs      = require('fs'),
     os      = require('osenv'),
@@ -13,7 +13,7 @@ var install = require('../src/install'),
     variableplugin = path.join(__dirname, 'plugins', 'VariablePlugin'),
     faultyplugin = path.join(__dirname, 'plugins', 'FaultyPlugin'),
     android_one_project = path.join(__dirname, 'projects', 'android_one', '*');
-    blackberry_project = path.join(__dirname, 'projects', 'blackberry', '*');
+    blackberry10_project = path.join(__dirname, 'projects', 'blackberry10', '*');
     ios_project = path.join(__dirname, 'projects', 'ios-config-xml', '*');
     plugins_dir = path.join(temp, 'cordova', 'plugins');
 
@@ -76,7 +76,7 @@ describe('install', function() {
 
             var executed_txs = s.mostRecentCall.args[0];
             expect(executed_txs.length).toEqual(0);
-        }); 
+        });
         it('should throw if plugin is already installed into project', function() {
             shell.cp('-rf', dummyplugin, plugins_dir);
             expect(function() {

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/platforms/blackberry.spec.js
----------------------------------------------------------------------
diff --git a/spec/platforms/blackberry.spec.js b/spec/platforms/blackberry.spec.js
deleted file mode 100644
index a06c2b7..0000000
--- a/spec/platforms/blackberry.spec.js
+++ /dev/null
@@ -1,169 +0,0 @@
-var blackberry = require('../../src/platforms/blackberry'),
-    common  = require('../../src/platforms/common'),
-    install = require('../../src/install'),
-    path    = require('path'),
-    fs      = require('fs'),
-    shell   = require('shelljs'),
-    et      = require('elementtree'),
-    os      = require('osenv'),
-    temp    = path.join(os.tmpdir(), 'plugman'),
-    plugins_dir = path.join(temp, 'cordova', 'plugins'),
-    xml_helpers = require('../../src/util/xml-helpers'),
-    plugins_module = require('../../src/util/plugins'),
-    dummyplugin = path.join(__dirname, '..', 'plugins', 'DummyPlugin'),
-    faultyplugin = path.join(__dirname, '..', 'plugins', 'FaultyPlugin'),
-    blackberry_project = path.join(__dirname, '..', 'projects', 'blackberry', '*');
-
-var xml_path     = path.join(dummyplugin, 'plugin.xml')
-  , xml_text     = fs.readFileSync(xml_path, 'utf-8')
-  , plugin_et    = new et.ElementTree(et.XML(xml_text));
-
-var platformTag = plugin_et.find('./platform[@name="blackberry"]');
-var dummy_id = plugin_et._root.attrib['id'];
-var valid_source = platformTag.findall('./source-file'),
-    assets = plugin_et.findall('./asset'),
-    configChanges = platformTag.findall('./config-file');
-
-xml_path  = path.join(faultyplugin, 'plugin.xml')
-xml_text  = fs.readFileSync(xml_path, 'utf-8')
-plugin_et = new et.ElementTree(et.XML(xml_text));
-
-platformTag = plugin_et.find('./platform[@name="blackberry"]');
-var invalid_source = platformTag.findall('./source-file');
-var faulty_id = plugin_et._root.attrib['id'];
-
-function copyArray(arr) {
-    return Array.prototype.slice.call(arr, 0);
-}
-
-describe('blackberry project handler', function() {
-    it('should have an install function', function() {
-        expect(typeof blackberry.install).toEqual('function');
-    });
-    it('should have an uninstall function', function() {
-        expect(typeof blackberry.uninstall).toEqual('function');
-    });
-    it('should return cordova-blackberry project www location using www_dir', function() {
-        expect(blackberry.www_dir('/')).toEqual('/www');
-    });
-
-    describe('installation', function() {
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-            shell.cp('-rf', blackberry_project, temp);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <source-file> elements', function() {
-            it('should copy stuff from one location to another by calling common.straightCopy', function() {
-                var source = copyArray(valid_source);
-                var s = spyOn(common, 'straightCopy');
-                blackberry.install(source, dummy_id, temp, dummyplugin, {});
-                expect(s).toHaveBeenCalledWith(dummyplugin, 'src/blackberry/client.js', temp, 'ext-qnx/cordova.echo/client.js');
-                expect(s).toHaveBeenCalledWith(dummyplugin, 'src/blackberry/index.js', temp, 'ext-qnx/cordova.echo/index.js');
-                expect(s).toHaveBeenCalledWith(dummyplugin, 'src/blackberry/manifest.json', temp, 'ext-qnx/cordova.echo/manifest.json');
-            });
-            it('should throw if source file cannot be found', function() {
-                var source = copyArray(invalid_source);
-                expect(function() {
-                    blackberry.install(source, faulty_id, temp, faultyplugin, {});
-                }).toThrow('"' + path.resolve(faultyplugin, 'src/blackberry/device/echoJnext.so') + '" not found!');
-            });
-            it('should throw if target file already exists', function() {
-                // write out a file
-                var target = path.resolve(temp, 'ext-qnx/cordova.echo');
-                shell.mkdir('-p', target);
-                target = path.join(target, 'client.js');
-                fs.writeFileSync(target, 'some bs', 'utf-8');
-
-                var source = copyArray(valid_source);
-                expect(function() {
-                    blackberry.install(source, dummy_id, temp, dummyplugin, {});
-                }).toThrow('"' + target + '" already exists!');
-            });
-        });
-        describe('of <config-file> elements', function() {
-            it('should target config.xml', function() {
-                var config = copyArray(configChanges);
-                var s = spyOn(xml_helpers, 'parseElementtreeSync').andCallThrough();
-                blackberry.install(config, dummy_id, temp, dummyplugin, {});
-                expect(s).toHaveBeenCalledWith(path.join(temp, 'www', 'config.xml'));
-            });
-            it('should call into xml helper\'s graftXML', function() {
-                shell.cp('-rf', blackberry_project, temp);
-                var config = copyArray(configChanges);
-                var s = spyOn(xml_helpers, 'graftXML').andReturn(true);
-                blackberry.install(config, dummy_id, temp, dummyplugin, {});
-                expect(s).toHaveBeenCalled();
-            });
-        });
-    });
-
-    describe('uninstallation', function() {
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-            shell.mkdir('-p', plugins_dir);
-            shell.cp('-rf', blackberry_project, temp);
-            shell.cp('-rf', dummyplugin, plugins_dir);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <source-file> elements', function() {
-            it('should remove stuff by calling common.deleteJava', function(done) {
-                var s = spyOn(common, 'deleteJava');
-                install('blackberry', temp, 'DummyPlugin', plugins_dir, {}, function() {
-                    var source = copyArray(valid_source);
-                    blackberry.uninstall(source, dummy_id, temp, path.join(plugins_dir, 'DummyPlugin'));
-                    expect(s).toHaveBeenCalledWith(temp, 'ext-qnx/cordova.echo/client.js');
-                    expect(s).toHaveBeenCalledWith(temp, 'ext-qnx/cordova.echo/index.js');
-                    expect(s).toHaveBeenCalledWith(temp, 'ext-qnx/cordova.echo/manifest.json');
-                    done();
-                });
-            });
-        });
-        describe('of <config-file> elements', function() {
-            it('should target config.xml', function(done) {
-                var config = copyArray(configChanges);
-                var s = spyOn(xml_helpers, 'parseElementtreeSync').andCallThrough();
-                install('blackberry', temp, 'DummyPlugin', plugins_dir, {}, function() {
-                    var config = copyArray(configChanges);
-                    blackberry.uninstall(config, dummy_id, temp, path.join(plugins_dir, 'DummyPlugin'));
-                    expect(s).toHaveBeenCalledWith(path.join(temp, 'www', 'config.xml'));
-                    done();
-                });
-            });
-            it('should call into xml helper\'s pruneXML', function(done) {
-                var config = copyArray(configChanges);
-                install('blackberry', temp, 'DummyPlugin', plugins_dir, {}, function() {
-                    var s = spyOn(xml_helpers, 'pruneXML').andReturn(true);
-                    blackberry.uninstall(config, dummy_id, temp, path.join(plugins_dir, 'DummyPlugin'));
-                    expect(s).toHaveBeenCalled();
-                    done();
-                });
-            });
-        });
-        describe('of <asset> elements', function() {
-            it('should remove www\'s plugins/<plugin-id> directory', function(done) {
-                var as = copyArray(assets);
-                install('blackberry', temp, 'DummyPlugin', plugins_dir, {}, function() {
-                    var s = spyOn(shell, 'rm');
-                    blackberry.uninstall(as, dummy_id, temp, path.join(plugins_dir, 'DummyPlugin'));
-                    expect(s).toHaveBeenCalledWith('-rf', path.join(temp, 'www', 'plugins', dummy_id));
-                    done();
-                });
-            });
-            it('should remove stuff specified by the element', function(done) {
-                var as = copyArray(assets);
-                install('blackberry', temp, 'DummyPlugin', plugins_dir, {}, function() {
-                    var s = spyOn(shell, 'rm');
-                    blackberry.uninstall(as, dummy_id, temp, path.join(plugins_dir, 'DummyPlugin'));
-                    expect(s).toHaveBeenCalledWith('-rf', path.join(temp, 'www', 'dummyplugin.js'));
-                    expect(s).toHaveBeenCalledWith('-rf', path.join(temp, 'www', 'dummyplugin'));
-                    done();
-                });
-            });
-        });
-    });
-});

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/platforms/blackberry10.spec.js
----------------------------------------------------------------------
diff --git a/spec/platforms/blackberry10.spec.js b/spec/platforms/blackberry10.spec.js
new file mode 100644
index 0000000..25dabc2
--- /dev/null
+++ b/spec/platforms/blackberry10.spec.js
@@ -0,0 +1,120 @@
+var blackberry10 = require('../../src/platforms/blackberry10'),
+    common  = require('../../src/platforms/common'),
+    install = require('../../src/install'),
+    path    = require('path'),
+    fs      = require('fs'),
+    shell   = require('shelljs'),
+    et      = require('elementtree'),
+    os      = require('osenv'),
+    temp    = path.join(os.tmpdir(), 'plugman'),
+    plugins_dir = path.join(temp, 'cordova', 'plugins'),
+    xml_helpers = require('../../src/util/xml-helpers'),
+    plugins_module = require('../../src/util/plugins'),
+    dummyplugin = path.join(__dirname, '..', 'plugins', 'DummyPlugin'),
+    faultyplugin = path.join(__dirname, '..', 'plugins', 'FaultyPlugin'),
+    blackberry10_project = path.join(__dirname, '..', 'projects', 'blackberry10', '*'),
+    xml_path     = path.join(dummyplugin, 'plugin.xml'),
+    xml_text     = fs.readFileSync(xml_path, 'utf-8'),
+    plugin_et    = new et.ElementTree(et.XML(xml_text)),
+    platformTag = plugin_et.find('./platform[@name="blackberry10"]'),
+    dummy_id = plugin_et._root.attrib['id'],
+    valid_source = platformTag.findall('./source-file'),
+    assets = plugin_et.findall('./asset'),
+    configChanges = platformTag.findall('./config-file'),
+    invalid_source = platformTag.findall('./source-file'),
+    faulty_id = plugin_et._root.attrib['id'];
+
+function copyArray(arr) {
+    return Array.prototype.slice.call(arr, 0);
+}
+
+describe('blackberry10 project handler', function() {
+    it('should have an install function', function() {
+        expect(typeof blackberry10.install).toEqual('function');
+    });
+    it('should have an uninstall function', function() {
+        expect(typeof blackberry10.uninstall).toEqual('function');
+    });
+    it('should return cordova-blackberry project www location using www_dir', function() {
+        expect(blackberry10.www_dir('/')).toEqual('/www');
+    });
+
+    describe('installation', function() {
+        beforeEach(function() {
+            shell.mkdir('-p', temp);
+            shell.cp('-rf', blackberry10_project, temp);
+        });
+        afterEach(function() {
+            shell.rm('-rf', temp);
+        });
+        describe('of <config-file> elements', function() {
+            it('should target config.xml', function() {
+                var config = copyArray(configChanges);
+                var s = spyOn(xml_helpers, 'parseElementtreeSync').andCallThrough();
+                blackberry10.install(config, dummy_id, temp, dummyplugin, {});
+                expect(s).toHaveBeenCalledWith(path.join(temp, 'www', 'config.xml'));
+            });
+            it('should call into xml helper\'s graftXML', function() {
+                shell.cp('-rf', blackberry10_project, temp);
+                var config = copyArray(configChanges);
+                var s = spyOn(xml_helpers, 'graftXML').andReturn(true);
+                blackberry10.install(config, dummy_id, temp, dummyplugin, {});
+                expect(s).toHaveBeenCalled();
+            });
+        });
+    });
+
+    describe('uninstallation', function() {
+        beforeEach(function() {
+            shell.mkdir('-p', temp);
+            shell.mkdir('-p', plugins_dir);
+            shell.cp('-rf', blackberry10_project, temp);
+            shell.cp('-rf', dummyplugin, plugins_dir);
+        });
+        afterEach(function() {
+            shell.rm('-rf', temp);
+        });
+        describe('of <config-file> elements', function() {
+            it('should target config.xml', function(done) {
+                var config = copyArray(configChanges);
+                var s = spyOn(xml_helpers, 'parseElementtreeSync').andCallThrough();
+                install('blackberry10', temp, 'DummyPlugin', plugins_dir, {}, function() {
+                    var config = copyArray(configChanges);
+                    blackberry10.uninstall(config, dummy_id, temp, path.join(plugins_dir, 'DummyPlugin'));
+                    expect(s).toHaveBeenCalledWith(path.join(temp, 'www', 'config.xml'));
+                    done();
+                });
+            });
+            it('should call into xml helper\'s pruneXML', function(done) {
+                var config = copyArray(configChanges);
+                install('blackberry10', temp, 'DummyPlugin', plugins_dir, {}, function() {
+                    var s = spyOn(xml_helpers, 'pruneXML').andReturn(true);
+                    blackberry10.uninstall(config, dummy_id, temp, path.join(plugins_dir, 'DummyPlugin'));
+                    expect(s).toHaveBeenCalled();
+                    done();
+                });
+            });
+        });
+        describe('of <asset> elements', function() {
+            it('should remove www\'s plugins/<plugin-id> directory', function(done) {
+                var as = copyArray(assets);
+                install('blackberry10', temp, 'DummyPlugin', plugins_dir, {}, function() {
+                    var s = spyOn(shell, 'rm');
+                    blackberry10.uninstall(as, dummy_id, temp, path.join(plugins_dir, 'DummyPlugin'));
+                    expect(s).toHaveBeenCalledWith('-rf', path.join(temp, 'www', 'plugins', dummy_id));
+                    done();
+                });
+            });
+            it('should remove stuff specified by the element', function(done) {
+                var as = copyArray(assets);
+                install('blackberry10', temp, 'DummyPlugin', plugins_dir, {}, function() {
+                    var s = spyOn(shell, 'rm');
+                    blackberry10.uninstall(as, dummy_id, temp, path.join(plugins_dir, 'DummyPlugin'));
+                    expect(s).toHaveBeenCalledWith('-rf', path.join(temp, 'www', 'dummyplugin.js'));
+                    expect(s).toHaveBeenCalledWith('-rf', path.join(temp, 'www', 'dummyplugin'));
+                    done();
+                });
+            });
+        });
+    });
+});

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/DummyPlugin/plugin.xml
----------------------------------------------------------------------
diff --git a/spec/plugins/DummyPlugin/plugin.xml b/spec/plugins/DummyPlugin/plugin.xml
index e21ed40..b913dbb 100644
--- a/spec/plugins/DummyPlugin/plugin.xml
+++ b/spec/plugins/DummyPlugin/plugin.xml
@@ -30,7 +30,7 @@
 
 	<access origin="build.phonegap.com" />
 	<access origin="s3.amazonaws.com" />
-	
+
     <!-- android -->
     <platform name="android">
         <config-file target="AndroidManifest.xml" parent="/manifest/application">
@@ -58,26 +58,23 @@
     </platform>
 
     <!-- blackberry -->
-    <platform name="blackberry">
+    <platform name="blackberry10">
         <config-file target="www/config.xml" parent="/widget">
             <feature id="dummyPlugin" required="true" version="1.0.0.0"/>
         </config-file>
 
-        <source-file src="src/blackberry/client.js" target-dir="ext-qnx/cordova.echo" />
-        <source-file src="src/blackberry/index.js" target-dir="ext-qnx/cordova.echo" />
-        <source-file src="src/blackberry/manifest.json" target-dir="ext-qnx/cordova.echo" />
         <js-module src="www/dummyplugin.js" name="Dummy">
             <clobbers target="dummy" />
         </js-module>
     </platform>
 
-        
+
     <!-- ios -->
     <platform name="ios">
         <!-- CDV < 2.4 -->
         <plugins-plist key="com.phonegap.plugins.dummyplugin"
             string="DummyPluginCommand" />
-        
+
         <!-- CDV 2.5+ -->
         <config-file target="config.xml" parent="/widget/plugins">
             <plugin name="DummyPlugin"

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/DummyPlugin/src/blackberry/client.js
----------------------------------------------------------------------
diff --git a/spec/plugins/DummyPlugin/src/blackberry/client.js b/spec/plugins/DummyPlugin/src/blackberry/client.js
deleted file mode 100644
index 5263b0c..0000000
--- a/spec/plugins/DummyPlugin/src/blackberry/client.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- *
- * Copyright 2013 Anis Kadri
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/DummyPlugin/src/blackberry/index.js
----------------------------------------------------------------------
diff --git a/spec/plugins/DummyPlugin/src/blackberry/index.js b/spec/plugins/DummyPlugin/src/blackberry/index.js
deleted file mode 100644
index 5263b0c..0000000
--- a/spec/plugins/DummyPlugin/src/blackberry/index.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- *
- * Copyright 2013 Anis Kadri
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/DummyPlugin/src/blackberry/manifest.json
----------------------------------------------------------------------
diff --git a/spec/plugins/DummyPlugin/src/blackberry/manifest.json b/spec/plugins/DummyPlugin/src/blackberry/manifest.json
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/DummyPlugin/src/blackberry10/index.js
----------------------------------------------------------------------
diff --git a/spec/plugins/DummyPlugin/src/blackberry10/index.js b/spec/plugins/DummyPlugin/src/blackberry10/index.js
new file mode 100644
index 0000000..5263b0c
--- /dev/null
+++ b/spec/plugins/DummyPlugin/src/blackberry10/index.js
@@ -0,0 +1,19 @@
+/*
+ *
+ * Copyright 2013 Anis Kadri
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/FaultyPlugin/plugin.xml
----------------------------------------------------------------------
diff --git a/spec/plugins/FaultyPlugin/plugin.xml b/spec/plugins/FaultyPlugin/plugin.xml
index 278c89d..b9d713b 100644
--- a/spec/plugins/FaultyPlugin/plugin.xml
+++ b/spec/plugins/FaultyPlugin/plugin.xml
@@ -27,7 +27,7 @@
 
 	<access origin="build.phonegap.com" />
 	<access origin="s3.amazonaws.com" />
-	
+
     <!-- android -->
     <platform name="android">
         <config-file target="AndroidManifest.xml" parent="/manifest/application">
@@ -71,14 +71,11 @@
         <source-file src="src/ios/FaultyPluginCommand.m" />
 
     </platform>
-    <platform name="blackberry">
+    <platform name="blackberry10">
         <config-file target="config.xml" parent="/widget">
             <feature id="cordova.echo" required="true" version="1.0.0.0"/>
         </config-file>
-
-        <source-file src="src/blackberry/client.js" target-dir="ext-qnx/cordova.echo" />
-        <!-- these dont exist -->
-        <source-file src="src/blackberry/device/echoJnext.so" target-dir="ext-qnx/cordova.echo/device" />
+        <!-- these tags are unsupported -->
         <source-file src="src/blackberry/simulator/echoJnext.so" target-dir="ext-qnx/cordova.echo/simulator" />
     </platform>
 </plugin>

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/FaultyPlugin/src/blackberry/client.js
----------------------------------------------------------------------
diff --git a/spec/plugins/FaultyPlugin/src/blackberry/client.js b/spec/plugins/FaultyPlugin/src/blackberry/client.js
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/FaultyPlugin/src/blackberry10/client.js
----------------------------------------------------------------------
diff --git a/spec/plugins/FaultyPlugin/src/blackberry10/client.js b/spec/plugins/FaultyPlugin/src/blackberry10/client.js
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/cordova.echo/plugin.xml
----------------------------------------------------------------------
diff --git a/spec/plugins/cordova.echo/plugin.xml b/spec/plugins/cordova.echo/plugin.xml
index 8468ec1..266da52 100644
--- a/spec/plugins/cordova.echo/plugin.xml
+++ b/spec/plugins/cordova.echo/plugin.xml
@@ -2,23 +2,20 @@
 <plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
     id="com.cordova.echo"
     version="1.0.0">
-        
+
     <engines>
         <engine name="cordova" version=">=2.3.0" />
     </engines>
-    
+
     <name>cordova echo</name>
 
-    
-    <platform name="blackberry">    
+    <js-module src="www/client.js">
+        <clobbers target="cordova.echo"/>
+    </js-module>
+
+    <platform name="blackberry10">
         <config-file target="config.xml" parent="/widget">
             <feature id="cordova.echo" required="true" version="1.0.0.0"/>
         </config-file>
-        
-        <source-file src="src/blackberry/client.js" target-dir="ext-qnx/cordova.echo" />
-        <source-file src="src/blackberry/index.js" target-dir="ext-qnx/cordova.echo" />
-        <source-file src="src/blackberry/manifest.json" target-dir="ext-qnx/cordova.echo" />
-        <source-file src="src/blackberry/device/echoJnext.so" target-dir="ext-qnx/cordova.echo/device" />
-        <source-file src="src/blackberry/simulator/echoJnext.so" target-dir="ext-qnx/cordova.echo/simulator" />
     </platform>
-</plugin>
\ No newline at end of file
+</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/cordova.echo/src/blackberry/client.js
----------------------------------------------------------------------
diff --git a/spec/plugins/cordova.echo/src/blackberry/client.js b/spec/plugins/cordova.echo/src/blackberry/client.js
deleted file mode 100644
index 4e7a1b3..0000000
--- a/spec/plugins/cordova.echo/src/blackberry/client.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-var _self = {},
-    _ID = require("./manifest.json").namespace,
-    win = null,
-    fail = null;
-
-function handleCallback(result) {
-    if (result) {
-        if(win){
-            win(result);
-        }
-    } else {
-        if(fail){
-            fail(result);
-        }
-    }
-    win = null;
-    fail = null;
-}
-
-_self.doEcho = function (args, theWin, theFail) {
-    var data = { "message" : args.message || "" };
-    
-    win = theWin;
-    fail = theFail;
-    
-    window.webworks.event.add(_ID, "echoCallback", handleCallback);
-    
-    return window.webworks.execSync(_ID, "doEcho", data);
-};
-
-
-module.exports = _self;

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/cordova.echo/src/blackberry/device/echoJnext.so
----------------------------------------------------------------------
diff --git a/spec/plugins/cordova.echo/src/blackberry/device/echoJnext.so b/spec/plugins/cordova.echo/src/blackberry/device/echoJnext.so
deleted file mode 100755
index 169714a..0000000
Binary files a/spec/plugins/cordova.echo/src/blackberry/device/echoJnext.so and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/cordova.echo/src/blackberry/index.js
----------------------------------------------------------------------
diff --git a/spec/plugins/cordova.echo/src/blackberry/index.js b/spec/plugins/cordova.echo/src/blackberry/index.js
deleted file mode 100644
index 0759a20..0000000
--- a/spec/plugins/cordova.echo/src/blackberry/index.js
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-var echoJNext,
-    _event = require("../../lib/event"),
-    winCallback = null,
-    failCallback = null;
-    
-module.exports = {   
-    doEcho: function (success, fail, args) {
-        var invokeData = { "message" : JSON.parse(decodeURIComponent(args.message)) };
-        try {
-            success(echoJNext.getEchoJNext(invokeData));
-        } catch (e) {
-            fail(-1, e);
-        }
-    }
-};
-
-///////////////////////////////////////////////////////////////////
-// JavaScript wrapper for JNEXT plugin
-///////////////////////////////////////////////////////////////////
-
-JNEXT.EchoJNext = function ()
-{   
-    var _self = this;
-
-    _self.getEchoJNext = function (args) {
-        return JNEXT.invoke(_self._id, "doEcho " + JSON.stringify(args));
-    };
-
-    _self.getId = function () {
-        return _self._id;
-    };
-
-    _self.init = function () {
-        if (!JNEXT.require("echoJnext")) {
-            return false;
-        }
-
-        _self._id = JNEXT.createObject("echoJnext.Echo");
-
-        if (!_self._id || _self._id === "") {
-            return false;
-        }
-
-        JNEXT.registerEvents(_self);
-    };
-
-    _self.onEvent = function (strData) {
-        var arData = strData.split(" "),
-            strEventId = arData[0],
-            args = arData[1],
-            info = {};
-            
-        if (strEventId === "cordova.echo.callback") {
-            _event.trigger("echoCallback", args);
-        }
-                  
-    };
-    
-    _self._id = "";
-    
-    _self.init();
-};
-
-echoJNext = new JNEXT.EchoJNext();

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/cordova.echo/src/blackberry/manifest.json
----------------------------------------------------------------------
diff --git a/spec/plugins/cordova.echo/src/blackberry/manifest.json b/spec/plugins/cordova.echo/src/blackberry/manifest.json
deleted file mode 100644
index d14e79e..0000000
--- a/spec/plugins/cordova.echo/src/blackberry/manifest.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-    "global": false,
-    "namespace": "cordova.echo",
-    "dependencies": []
-}

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/cordova.echo/src/blackberry/public/json/autolink.h
----------------------------------------------------------------------
diff --git a/spec/plugins/cordova.echo/src/blackberry/public/json/autolink.h b/spec/plugins/cordova.echo/src/blackberry/public/json/autolink.h
deleted file mode 100644
index 37c9258..0000000
--- a/spec/plugins/cordova.echo/src/blackberry/public/json/autolink.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef JSON_AUTOLINK_H_INCLUDED
-# define JSON_AUTOLINK_H_INCLUDED
-
-# include "config.h"
-
-# ifdef JSON_IN_CPPTL
-#  include <cpptl/cpptl_autolink.h>
-# endif
-
-# if !defined(JSON_NO_AUTOLINK)  &&  !defined(JSON_DLL_BUILD)  &&  !defined(JSON_IN_CPPTL)
-#  define CPPTL_AUTOLINK_NAME "json"
-#  undef CPPTL_AUTOLINK_DLL
-#  ifdef JSON_DLL
-#   define CPPTL_AUTOLINK_DLL
-#  endif
-#  include "autolink.h"
-# endif
-
-#endif // JSON_AUTOLINK_H_INCLUDED

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/cordova.echo/src/blackberry/public/json/config.h
----------------------------------------------------------------------
diff --git a/spec/plugins/cordova.echo/src/blackberry/public/json/config.h b/spec/plugins/cordova.echo/src/blackberry/public/json/config.h
deleted file mode 100644
index 5d334cb..0000000
--- a/spec/plugins/cordova.echo/src/blackberry/public/json/config.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef JSON_CONFIG_H_INCLUDED
-# define JSON_CONFIG_H_INCLUDED
-
-/// If defined, indicates that json library is embedded in CppTL library.
-//# define JSON_IN_CPPTL 1
-
-/// If defined, indicates that json may leverage CppTL library
-//#  define JSON_USE_CPPTL 1
-/// If defined, indicates that cpptl vector based map should be used instead of std::map
-/// as Value container.
-//#  define JSON_USE_CPPTL_SMALLMAP 1
-/// If defined, indicates that Json specific container should be used
-/// (hash table & simple deque container with customizable allocator).
-/// THIS FEATURE IS STILL EXPERIMENTAL!
-//#  define JSON_VALUE_USE_INTERNAL_MAP 1
-/// Force usage of standard new/malloc based allocator instead of memory pool based allocator.
-/// The memory pools allocator used optimization (initializing Value and ValueInternalLink
-/// as if it was a POD) that may cause some validation tool to report errors.
-/// Only has effects if JSON_VALUE_USE_INTERNAL_MAP is defined.
-//#  define JSON_USE_SIMPLE_INTERNAL_ALLOCATOR 1
-
-/// If defined, indicates that Json use exception to report invalid type manipulation
-/// instead of C assert macro.
-# define JSON_USE_EXCEPTION 1
-
-# ifdef JSON_IN_CPPTL
-#  include <cpptl/config.h>
-#  ifndef JSON_USE_CPPTL
-#   define JSON_USE_CPPTL 1
-#  endif
-# endif
-
-# ifdef JSON_IN_CPPTL
-#  define JSON_API CPPTL_API
-# elif defined(JSON_DLL_BUILD)
-#  define JSON_API __declspec(dllexport)
-# elif defined(JSON_DLL)
-#  define JSON_API __declspec(dllimport)
-# else
-#  define JSON_API
-# endif
-
-#endif // JSON_CONFIG_H_INCLUDED

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/cordova.echo/src/blackberry/public/json/features.h
----------------------------------------------------------------------
diff --git a/spec/plugins/cordova.echo/src/blackberry/public/json/features.h b/spec/plugins/cordova.echo/src/blackberry/public/json/features.h
deleted file mode 100644
index 5a9adec..0000000
--- a/spec/plugins/cordova.echo/src/blackberry/public/json/features.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef CPPTL_JSON_FEATURES_H_INCLUDED
-# define CPPTL_JSON_FEATURES_H_INCLUDED
-
-# include "forwards.h"
-
-namespace Json {
-
-   /** \brief Configuration passed to reader and writer.
-    * This configuration object can be used to force the Reader or Writer
-    * to behave in a standard conforming way.
-    */
-   class JSON_API Features
-   {
-   public:
-      /** \brief A configuration that allows all features and assumes all strings are UTF-8.
-       * - C & C++ comments are allowed
-       * - Root object can be any JSON value
-       * - Assumes Value strings are encoded in UTF-8
-       */
-      static Features all();
-
-      /** \brief A configuration that is strictly compatible with the JSON specification.
-       * - Comments are forbidden.
-       * - Root object must be either an array or an object value.
-       * - Assumes Value strings are encoded in UTF-8
-       */
-      static Features strictMode();
-
-      /** \brief Initialize the configuration like JsonConfig::allFeatures;
-       */
-      Features();
-
-      /// \c true if comments are allowed. Default: \c true.
-      bool allowComments_;
-
-      /// \c true if root must be either an array or an object value. Default: \c false.
-      bool strictRoot_;
-   };
-
-} // namespace Json
-
-#endif // CPPTL_JSON_FEATURES_H_INCLUDED

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/cordova.echo/src/blackberry/public/json/forwards.h
----------------------------------------------------------------------
diff --git a/spec/plugins/cordova.echo/src/blackberry/public/json/forwards.h b/spec/plugins/cordova.echo/src/blackberry/public/json/forwards.h
deleted file mode 100644
index d0ce830..0000000
--- a/spec/plugins/cordova.echo/src/blackberry/public/json/forwards.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef JSON_FORWARDS_H_INCLUDED
-# define JSON_FORWARDS_H_INCLUDED
-
-# include "config.h"
-
-namespace Json {
-
-   // writer.h
-   class FastWriter;
-   class StyledWriter;
-
-   // reader.h
-   class Reader;
-
-   // features.h
-   class Features;
-
-   // value.h
-   typedef int Int;
-   typedef unsigned int UInt;
-   class StaticString;
-   class Path;
-   class PathArgument;
-   class Value;
-   class ValueIteratorBase;
-   class ValueIterator;
-   class ValueConstIterator;
-#ifdef JSON_VALUE_USE_INTERNAL_MAP
-   class ValueAllocator;
-   class ValueMapAllocator;
-   class ValueInternalLink;
-   class ValueInternalArray;
-   class ValueInternalMap;
-#endif // #ifdef JSON_VALUE_USE_INTERNAL_MAP
-
-} // namespace Json
-
-
-#endif // JSON_FORWARDS_H_INCLUDED

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/cordova.echo/src/blackberry/public/json/json.h
----------------------------------------------------------------------
diff --git a/spec/plugins/cordova.echo/src/blackberry/public/json/json.h b/spec/plugins/cordova.echo/src/blackberry/public/json/json.h
deleted file mode 100644
index c71ed65..0000000
--- a/spec/plugins/cordova.echo/src/blackberry/public/json/json.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef JSON_JSON_H_INCLUDED
-# define JSON_JSON_H_INCLUDED
-
-# include "autolink.h"
-# include "value.h"
-# include "reader.h"
-# include "writer.h"
-# include "features.h"
-
-#endif // JSON_JSON_H_INCLUDED

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/a65d10ed/spec/plugins/cordova.echo/src/blackberry/public/json/reader.h
----------------------------------------------------------------------
diff --git a/spec/plugins/cordova.echo/src/blackberry/public/json/reader.h b/spec/plugins/cordova.echo/src/blackberry/public/json/reader.h
deleted file mode 100644
index ee1d6a2..0000000
--- a/spec/plugins/cordova.echo/src/blackberry/public/json/reader.h
+++ /dev/null
@@ -1,196 +0,0 @@
-#ifndef CPPTL_JSON_READER_H_INCLUDED
-# define CPPTL_JSON_READER_H_INCLUDED
-
-# include "features.h"
-# include "value.h"
-# include <deque>
-# include <stack>
-# include <string>
-# include <iostream>
-
-namespace Json {
-
-   /** \brief Unserialize a <a HREF="http://www.json.org">JSON</a> document into a Value.
-    *
-    */
-   class JSON_API Reader
-   {
-   public:
-      typedef char Char;
-      typedef const Char *Location;
-
-      /** \brief Constructs a Reader allowing all features
-       * for parsing.
-       */
-      Reader();
-
-      /** \brief Constructs a Reader allowing the specified feature set
-       * for parsing.
-       */
-      Reader( const Features &features );
-
-      /** \brief Read a Value from a <a HREF="http://www.json.org">JSON</a> document.
-       * \param document UTF-8 encoded string containing the document to read.
-       * \param root [out] Contains the root value of the document if it was
-       *             successfully parsed.
-       * \param collectComments \c true to collect comment and allow writing them back during
-       *                        serialization, \c false to discard comments.
-       *                        This parameter is ignored if Features::allowComments_
-       *                        is \c false.
-       * \return \c true if the document was successfully parsed, \c false if an error occurred.
-       */
-      bool parse( const std::string &document, 
-                  Value &root,
-                  bool collectComments = true );
-
-      /** \brief Read a Value from a <a HREF="http://www.json.org">JSON</a> document.
-       * \param document UTF-8 encoded string containing the document to read.
-       * \param root [out] Contains the root value of the document if it was
-       *             successfully parsed.
-       * \param collectComments \c true to collect comment and allow writing them back during
-       *                        serialization, \c false to discard comments.
-       *                        This parameter is ignored if Features::allowComments_
-       *                        is \c false.
-       * \return \c true if the document was successfully parsed, \c false if an error occurred.
-       */
-      bool parse( const char *beginDoc, const char *endDoc, 
-                  Value &root,
-                  bool collectComments = true );
-
-      /// \brief Parse from input stream.
-      /// \see Json::operator>>(std::istream&, Json::Value&).
-      bool parse( std::istream &is,
-                  Value &root,
-                  bool collectComments = true );
-
-      /** \brief Returns a user friendly string that list errors in the parsed document.
-       * \return Formatted error message with the list of errors with their location in 
-       *         the parsed document. An empty string is returned if no error occurred
-       *         during parsing.
-       */
-      std::string getFormatedErrorMessages() const;
-
-   private:
-      enum TokenType
-      {
-         tokenEndOfStream = 0,
-         tokenObjectBegin,
-         tokenObjectEnd,
-         tokenArrayBegin,
-         tokenArrayEnd,
-         tokenString,
-         tokenNumber,
-         tokenTrue,
-         tokenFalse,
-         tokenNull,
-         tokenArraySeparator,
-         tokenMemberSeparator,
-         tokenComment,
-         tokenError
-      };
-
-      class Token
-      {
-      public:
-         TokenType type_;
-         Location start_;
-         Location end_;
-      };
-
-      class ErrorInfo
-      {
-      public:
-         Token token_;
-         std::string message_;
-         Location extra_;
-      };
-
-      typedef std::deque<ErrorInfo> Errors;
-
-      bool expectToken( TokenType type, Token &token, const char *message );
-      bool readToken( Token &token );
-      void skipSpaces();
-      bool match( Location pattern, 
-                  int patternLength );
-      bool readComment();
-      bool readCStyleComment();
-      bool readCppStyleComment();
-      bool readString();
-      void readNumber();
-      bool readValue();
-      bool readObject( Token &token );
-      bool readArray( Token &token );
-      bool decodeNumber( Token &token );
-      bool decodeString( Token &token );
-      bool decodeString( Token &token, std::string &decoded );
-      bool decodeDouble( Token &token );
-      bool decodeUnicodeCodePoint( Token &token, 
-                                   Location &current, 
-                                   Location end, 
-                                   unsigned int &unicode );
-      bool decodeUnicodeEscapeSequence( Token &token, 
-                                        Location &current, 
-                                        Location end, 
-                                        unsigned int &unicode );
-      bool addError( const std::string &message, 
-                     Token &token,
-                     Location extra = 0 );
-      bool recoverFromError( TokenType skipUntilToken );
-      bool addErrorAndRecover( const std::string &message, 
-                               Token &token,
-                               TokenType skipUntilToken );
-      void skipUntilSpace();
-      Value &currentValue();
-      Char getNextChar();
-      void getLocationLineAndColumn( Location location,
-                                     int &line,
-                                     int &column ) const;
-      std::string getLocationLineAndColumn( Location location ) const;
-      void addComment( Location begin, 
-                       Location end, 
-                       CommentPlacement placement );
-      void skipCommentTokens( Token &token );
-   
-      typedef std::stack<Value *> Nodes;
-      Nodes nodes_;
-      Errors errors_;
-      std::string document_;
-      Location begin_;
-      Location end_;
-      Location current_;
-      Location lastValueEnd_;
-      Value *lastValue_;
-      std::string commentsBefore_;
-      Features features_;
-      bool collectComments_;
-   };
-
-   /** \brief Read from 'sin' into 'root'.
-
-    Always keep comments from the input JSON.
-
-    This can be used to read a file into a particular sub-object.
-    For example:
-    \code
-    Json::Value root;
-    cin >> root["dir"]["file"];
-    cout << root;
-    \endcode
-    Result:
-    \verbatim
-    {
-	"dir": {
-	    "file": {
-		// The input stream JSON would be nested here.
-	    }
-	}
-    }
-    \endverbatim
-    \throw std::exception on parse error.
-    \see Json::operator<<()
-   */
-   std::istream& operator>>( std::istream&, Value& );
-
-} // namespace Json
-
-#endif // CPPTL_JSON_READER_H_INCLUDED