You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2017/06/07 04:59:22 UTC

[03/51] [partial] cordova-lib git commit: CB-11980: removed fetch, common and serve into their own repos

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/fetch.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/fetch.spec.js b/cordova-lib/spec-plugman/fetch.spec.js
deleted file mode 100644
index f772822..0000000
--- a/cordova-lib/spec-plugman/fetch.spec.js
+++ /dev/null
@@ -1,339 +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 rewire  = require('rewire'),
-    fetch   = rewire('../src/plugman/fetch'),
-    fs      = require('fs'),
-    os      = require('os'),
-    path    = require('path'),
-    shell   = require('shelljs'),
-    realrm  = shell.rm,
-    TIMEOUT = 60 * 1000,
-    //xml_helpers = require('../src/util/xml-helpers'),
-    metadata = require('../src/plugman/util/metadata'),
-    temp    = path.join(os.tmpdir(), 'plugman', 'fetch'),
-    test_plugin = path.join(__dirname, 'plugins', 'org.test.plugins.childbrowser'),
-    test_pkgjson_plugin = path.join(__dirname, 'plugins', 'pkgjson-test-plugin'),
-    test_plugin_searchpath = path.join(test_plugin, '..'),
-    //test_plugin_with_space = path.join(__dirname, 'folder with space', 'plugins', 'org.test.plugins.childbrowser'),
-    //test_plugin_xml = xml_helpers.parseElementtreeSync(path.join(test_plugin, 'plugin.xml')),
-    test_plugin_id = 'org.test.plugins.childbrowser',
-    test_plugin_version ='0.6.0',
-    plugins = require('../src/plugman/util/plugins'),
-    Q = require('q'),
-    registry = require('../src/plugman/registry/registry');
-
-describe('fetch', function() {
-
-    function wrapper(p, done, post) {
-        p.then(post, function(err) {
-            expect(err).toBeUndefined('Unexpected exception' + err.stack);
-        }).fin(done);
-    }
-    /*
-     * Taking out the following test. Fetch has a copyPlugin method that uses existsSync to see if a plugin already exists in the plugins folder. If the plugin exists in the plugins directory for the cordova project, it won't be copied over. This test fails now due it always returning true for existsSync.
-    describe('plugin in a dir with spaces', function() {
-        it('should copy locally-available plugin to plugins directory when spaces in path', function(done) {
-            // XXX: added this because plugman tries to fetch from registry when plugin folder does not exist
-            spyOn(fs,'existsSync').andReturn(true);
-            spyOn(xml_helpers, 'parseElementtreeSync').andReturn(test_plugin_xml);
-            spyOn(shell, 'rm');
-            spyOn(metadata, 'save_fetch_metadata');
-            var cp = spyOn(shell, 'cp');
-            wrapper(fetch(test_plugin_with_space, temp), done, function() {
-                expect(cp).toHaveBeenCalledWith('-R', path.join(test_plugin_with_space, '*'), path.join(temp, test_plugin_id));
-            });
-        });
-    });
-*/
-    describe('local plugins', function() {
-        var rm, sym, cp, save_metadata, revertLocal, revertFetch, fetchCalls = 0;
-        beforeEach(function() {
-            rm = spyOn(shell, 'rm');
-            sym = spyOn(fs, 'symlinkSync');
-            cp = spyOn(shell, 'cp').and.callThrough();
-            save_metadata = spyOn(metadata, 'save_fetch_metadata');
-            realrm('-rf', temp);
-            revertLocal = fetch.__set__('localPlugins', null);
-            revertFetch = fetch.__set__('fetch', function(pluginDir) {
-                fetchCalls ++;
-                return Q(pluginDir);
-            });
-        });
-
-        afterEach(function(){
-            revertLocal();
-            revertFetch();
-            fetchCalls = 0;
-        });
-
-        it('Test 001 : should copy locally-available plugin to plugins directory', function(done) {
-            wrapper(fetch(test_plugin, temp), done, function() {
-                expect(cp).toHaveBeenCalledWith('-R', path.join(test_plugin, '*'), path.join(temp, test_plugin_id));
-            });
-        });
-        it('Test 002 : should copy locally-available plugin to plugins directory when adding a plugin with searchpath argument', function(done) {
-            wrapper(fetch(test_plugin_id, temp, { searchpath: test_plugin_searchpath }), done, function() {
-                expect(cp).toHaveBeenCalledWith('-R', path.join(test_plugin, '*'), path.join(temp, test_plugin_id));
-            });
-        });
-        it('Test 003 : should create a symlink if used with `link` param', function(done) {
-            wrapper(fetch(test_plugin, temp, { link: true }), done, function() {
-                expect(sym).toHaveBeenCalledWith(test_plugin, path.join(temp, test_plugin_id), 'dir');
-            });
-        });
-
-        it('Test 004 : should fail when the expected ID doesn\'t match', function(done) {
-            fetch(test_plugin, temp, { expected_id: 'wrongID' })
-            .then(function() {
-                expect('this call').toBe('fail');
-            }, function(err) {
-                expect(''+err).toContain('Expected plugin to have ID "wrongID" but got');
-            }).fin(done);
-        });
-
-        it('Test 005 : should succeed when the expected ID is correct', function(done) {
-            wrapper(fetch(test_plugin, temp, { expected_id: test_plugin_id }), done, function() {
-                expect(1).toBe(1);
-            });
-        });
-        it('Test 006 : should fail when the expected ID with version specified doesn\'t match', function(done) {
-            fetch(test_plugin, temp, { expected_id: test_plugin_id + '@wrongVersion' })
-            .then(function() {
-                expect('this call').toBe('fail');
-            }, function(err) {
-                expect(''+err).toContain('to satisfy version "wrongVersion" but got');
-            }).fin(done);
-        });
-        it('Test 007 : should succeed when the plugin version specified is correct', function(done) {
-            var exp_id = test_plugin_id + '@' + test_plugin_version;
-            wrapper(fetch(test_plugin, temp, { expected_id: exp_id}), done, function() {
-                expect(1).toBe(1);
-            });
-        });
-        it('Test 027 : should copy locally-available plugin to plugins directory', function(done) {
-            wrapper(fetch(test_pkgjson_plugin, temp, {fetch:true}), done, function() {
-                expect(cp).toHaveBeenCalledWith('-R', path.join(test_pkgjson_plugin, '*'), path.join(temp, 'pkgjson-test-plugin'));
-                expect(fetchCalls).toBe(1);
-            });
-        });
-        it('Test 028 : should fail when locally-available plugin is missing pacakge.json', function(done) {
-            fetch(test_plugin, temp, {fetch:true})
-            .then(function() {
-                expect(false).toBe(true);
-            }).fail(function(err) { 
-                expect(err).toBeDefined();
-                expect(err.message).toContain('needs a valid package.json');
-                done();
-            });
-        });
-    });
-    describe('git plugins', function() {
-        var clone, save_metadata, done;
-
-        beforeEach(function() {
-            clone = spyOn(plugins, 'clonePluginGitRepo').and.returnValue(Q(test_plugin));
-            save_metadata = spyOn(metadata, 'save_fetch_metadata');
-            done = false;
-        });
-        it('Test 008 : should call clonePluginGitRepo for https:// and git:// based urls', function(done) {
-            var url = 'https://github.com/bobeast/GAPlugin.git';
-                fetch(url, temp).then(function(){
-                    expect(save_metadata).toHaveBeenCalled();
-                    expect(clone).toHaveBeenCalledWith(url, temp, '.', undefined, undefined);
-                    done();
-            });
-        }, 6000);
-        
-        it('Test 009 : should call clonePluginGitRepo with subdir if applicable', function(done) {
-            var url = 'https://github.com/bobeast/GAPlugin.git';
-            var dir = 'fakeSubDir';
-            fetch(url, temp, { subdir: dir }).then(function(){
-                expect(clone).toHaveBeenCalledWith(url, temp, dir, undefined, undefined);
-                expect(save_metadata).toHaveBeenCalled();
-                done();
-            });
-        }, 6000);
-
-        it('Test 010 : should call clonePluginGitRepo with subdir and git ref if applicable', function(done) {
-            var url = 'https://github.com/bobeast/GAPlugin.git';
-            var dir = 'fakeSubDir';
-            var ref = 'fakeGitRef';
-            fetch(url, temp, { subdir: dir, git_ref: ref }).then(function(){
-                expect(clone).toHaveBeenCalledWith(url, temp, dir, ref, undefined);
-                expect(save_metadata).toHaveBeenCalled();
-                done();
-            });
-        }, 6000);
-
-        it('Test 011 : should extract the git ref from the URL hash, if provided', function(done) {
-            var url = 'https://github.com/bobeast/GAPlugin.git#fakeGitRef';
-            var baseURL = 'https://github.com/bobeast/GAPlugin.git';
-            fetch(url, temp, {}).then(function(){
-                expect(clone).toHaveBeenCalledWith(baseURL, temp, '.', 'fakeGitRef', undefined);
-                expect(save_metadata).toHaveBeenCalled();
-                done();
-            });
-        }, 6000);
-
-        it('Test 012 : should extract the subdir from the URL hash, if provided', function(done) {
-            var url = 'https://github.com/bobeast/GAPlugin.git#:fakeSubDir';
-            var baseURL = 'https://github.com/bobeast/GAPlugin.git';
-            fetch(url, temp, {}).then(function(result){
-                expect(clone).toHaveBeenCalledWith(baseURL, temp, 'fakeSubDir', undefined, undefined);
-                expect(save_metadata).toHaveBeenCalled();
-                done();
-            });
-        }, 6000);
-
-        it('Test 013 : should extract the git ref and subdir from the URL hash, if provided', function(done) {
-            var url = 'https://github.com/bobeast/GAPlugin.git#fakeGitRef:/fake/Sub/Dir/';
-            var baseURL = 'https://github.com/bobeast/GAPlugin.git';
-            fetch(url, temp, {}).then(function(result){
-                expect(clone).toHaveBeenCalledWith(baseURL, temp, 'fake/Sub/Dir', 'fakeGitRef', undefined);
-                expect(save_metadata).toHaveBeenCalled();
-                done();
-            });
-        }, 6000);
-
-        it('Test 014 : should fail when the expected ID doesn\'t match', function(done) {
-            fetch('https://github.com/bobeast/GAPlugin.git', temp, { expected_id: 'wrongID' })
-            .then(function() {
-                expect('this call').toBe('fail');
-            }, function(err) {
-                expect(''+err).toContain('Expected plugin to have ID "wrongID" but got');
-            }).fin(done);
-        });
-
-        it('Test 015 : should fail when the expected ID with version specified doesn\'t match', function(done) {
-            fetch('https://github.com/bobeast/GAPlugin.git', temp, { expected_id: 'id@wrongVersion' })
-            .then(function() {
-                expect('this call').toBe('fail');
-            }, function(err) {
-                expect(''+err).toContain('Expected plugin to have ID "id" but got');
-            }).fin(done);
-        });
-
-        it('Test 016 : should succeed when the expected ID is correct', function(done) {
-            wrapper(fetch('https://github.com/bobeast/GAPlugin.git', temp, { expected_id: test_plugin_id }), done, function() {
-                expect(1).toBe(1);
-            });
-        });
-    });
-
-    describe('github plugins', function() {
-        // these tests actually pull a plugin from github
-        beforeEach(function(){
-            realrm('-rf',temp);
-        });
-
-        // this commit uses the new id
-        it('Test 017 : should fetch from a commit-sha', function(done) {
-            wrapper(fetch('http://github.com/apache/cordova-plugin-device.git#ad5f1e7bfd05ef98c01df549a0fa98036a5625db', temp, { expected_id: 'cordova-plugin-device' }), done, function() {
-                expect(1).toBe(1);
-                done();
-            });
-        }, TIMEOUT);
-        // this branch uses the old id
-        it('Test 018 : should fetch from a branch', function(done) {
-            wrapper(fetch('http://github.com/apache/cordova-plugin-device.git#cdvtest', temp, { expected_id: 'org.apache.cordova.device' }), done, function() {
-                expect(1).toBe(1);
-                done();
-            });
-        }, TIMEOUT);
-        // this tag uses the new id
-        it('Test 019 : should fetch from a tag', function(done) {
-            wrapper(fetch('http://github.com/apache/cordova-plugin-device.git#r1.0.0', temp, { expected_id: 'cordova-plugin-device' }), done, function() {
-                expect(1).toBe(1);
-                done();
-            });
-        }, TIMEOUT);
-    });
-
-    describe('fetch recursive error CB-8809', function(){
-
-        var srcDir = path.join(__dirname, 'plugins/recursivePlug');
-        var appDir = path.join(__dirname, 'plugins/recursivePlug/demo');
-
-        if(/^win/.test(process.platform)) {
-            it('Test 020 : should copy all but the /demo/ folder',function(done) {
-                var cp = spyOn(shell, 'cp');
-                wrapper(fetch(srcDir, appDir),done, function() {
-                    expect(cp).toHaveBeenCalledWith('-R',path.join(srcDir,'asset.txt'),path.join(appDir,'test-recursive'));
-                    expect(cp).not.toHaveBeenCalledWith('-R',srcDir,path.join(appDir,'test-recursive'));
-                });
-            });
-        }
-        else {
-            it('Test 021 : should skip copy to avoid recursive error', function(done) {
-
-                var cp = spyOn(shell, 'cp').and.callFake(function(){});
-
-                wrapper(fetch(srcDir, appDir),done, function() {
-                    expect(cp).not.toHaveBeenCalled();
-                });
-            });
-        }
-
-    });
-
-    describe('registry plugins', function() {
-        var pluginId = 'dummyplugin', sFetch;
-        var rm, sym, save_metadata;
-        beforeEach(function() {
-            rm = spyOn(shell, 'rm');
-            sym = spyOn(fs, 'symlinkSync');
-            save_metadata = spyOn(metadata, 'save_fetch_metadata');
-            sFetch = spyOn(registry, 'fetch').and.returnValue(Q(test_plugin));
-            realrm('-rf', temp);
-        });
-
-        it('Test 022 : should fail when the expected ID with version specified doesn\'t match', function(done) {
-            //fetch(pluginId, temp, { expected_id: test_plugin_id + '@wrongVersion' })
-            fetch(pluginId, temp, { expected_id: 'wrongID' })
-            .then(function() {
-                expect('this call').toBe('fail');
-            }, function(err) {
-                expect(''+err).toContain('Expected plugin to have ID "wrongID" but got');
-            }).fin(done);
-        });
-        
-        it('Test 023 : should succeed when the expected ID is correct', function(done) {
-            wrapper(fetch(pluginId, temp, { expected_id: test_plugin_id }), done, function() {
-                expect(1).toBe(1);
-            });
-        });
-        it('Test 024 : should succeed when the plugin version specified is correct', function(done) {
-            wrapper(fetch(pluginId, temp, { expected_id: test_plugin_id + '@' + test_plugin_version }), done, function() {
-                expect(1).toBe(1);
-            });
-        });
-        it('Test 025 : should fetch plugins that are scoped packages', function(done) {
-            var scopedPackage = '@testcope/dummy-plugin';
-            wrapper(fetch(scopedPackage, temp, { expected_id: test_plugin_id }), done, function() {
-                expect(sFetch).toHaveBeenCalledWith([scopedPackage]);
-            });
-        });
-        it('Test 026 : should fetch plugins that are scoped packages and have versions specified', function(done) {
-            var scopedPackage = '@testcope/dummy-plugin@latest';
-            wrapper(fetch(scopedPackage, temp, { expected_id: test_plugin_id }), done, function() {
-                expect(sFetch).toHaveBeenCalledWith([scopedPackage]);
-            });
-        });
-    });
-});

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/info.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/info.spec.js b/cordova-lib/spec-plugman/info.spec.js
deleted file mode 100644
index beaa03f..0000000
--- a/cordova-lib/spec-plugman/info.spec.js
+++ /dev/null
@@ -1,33 +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 search = require('../src/plugman/info'),
-    Q = require('q'),
-    registry = require('../src/plugman/registry/registry');
-
-describe('info', function() {
-    it('Test 001 : should show plugin info', function() {
-        var sSearch = spyOn(registry, 'info').and.returnValue(Q({
-            name: 'fakePlugin',
-            version: '1.0.0',
-            engines: [{ name: 'plugman', version: '>=0.11' }]
-        }));
-        search(new Array('myplugin'));
-        expect(sSearch).toHaveBeenCalledWith(['myplugin']);
-    });
-});

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/install.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/install.spec.js b/cordova-lib/spec-plugman/install.spec.js
deleted file mode 100644
index a265b70..0000000
--- a/cordova-lib/spec-plugman/install.spec.js
+++ /dev/null
@@ -1,540 +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.
-*/
-
-/* jshint sub:true */
-
-var path = require('path'),
-    install = require('../src/plugman/install'),
-    actions = require('cordova-common').ActionStack,
-    xmlHelpers = require('cordova-common').xmlHelpers,
-    et      = require('elementtree'),
-    PlatformJson = require('cordova-common').PlatformJson,
-    events = require('cordova-common').events,
-    plugman = require('../src/plugman/plugman'),
-    platforms = require('../src/plugman/platforms/common'),
-    knownPlatforms  = require('../src/platforms/platforms'),
-    common  = require('./common'),
-    fs      = require('fs'),
-    os      = require('os'),
-    path    = require('path'),
-    shell   = require('shelljs'),
-    child_process = require('child_process'),
-    semver  = require('semver'),
-    Q = require('q'),
-    spec    = __dirname,
-    done    = false,
-    srcProject = path.join(spec, 'projects', 'android'),
-    temp_dir = path.join(fs.realpathSync(os.tmpdir()), 'plugman-test'),
-    project = path.join(temp_dir, 'android_install'),
-    plugins_dir = path.join(spec, 'plugins'),
-    plugins_install_dir = path.join(project, 'cordova', 'plugins'),
-    plugins = {
-        'org.test.plugins.dummyplugin' : path.join(plugins_dir, 'org.test.plugins.dummyplugin'),
-        'com.cordova.engine' : path.join(plugins_dir, 'com.cordova.engine'),
-        'com.cordova.engine-android' : path.join(plugins_dir, 'com.cordova.engine-android'),
-        'org.test.plugins.childbrowser' : path.join(plugins_dir, 'org.test.plugins.childbrowser'),
-        'com.adobe.vars' : path.join(plugins_dir, 'com.adobe.vars'),
-        'org.test.defaultvariables' : path.join(plugins_dir, 'org.test.defaultvariables'),
-        'org.test.invalid.engine.script' : path.join(plugins_dir, 'org.test.invalid.engine.script'),
-        'org.test.invalid.engine.no.platform' : path.join(plugins_dir, 'org.test.invalid.engine.no.platform'),
-        'org.test.invalid.engine.no.scriptSrc' : path.join(plugins_dir, 'org.test.invalid.engine.no.scriptSrc'),
-        'A' : path.join(plugins_dir, 'dependencies', 'A'),
-        'B' : path.join(plugins_dir, 'dependencies', 'B'),
-        'C' : path.join(plugins_dir, 'dependencies', 'C'),
-        'F' : path.join(plugins_dir, 'dependencies', 'F'),
-        'G' : path.join(plugins_dir, 'dependencies', 'G'),
-        'I' : path.join(plugins_dir, 'dependencies', 'I'),
-        'C@1.0.0' : path.join(plugins_dir, 'dependencies', 'C@1.0.0')
-    },
-    results = {},
-    TIMEOUT = 90000,
-    superspawn = require('cordova-common').superspawn;
-
-
-// Pre-crete the temp dir, without it the test fails.
-shell.mkdir('-p', temp_dir);
-
-var existsSync = fs.existsSync;
-
-// Mocked functions for tests
-var fake = {
-    'existsSync' : {
-        'noPlugins' : function(path){
-            // fake installed plugin directories as 'not found'
-            if( path.slice(-5) !== '.json' && path.indexOf(plugins_install_dir) >= 0) {
-                return false;
-            }
-
-            return existsSync(path);
-        }
-    },
-    'fetch' : {
-        'dependencies' : function(id, dir) {
-            if(id == plugins['A'])
-                return Q(id); // full path to plugin
-            return Q( path.join(plugins_dir, 'dependencies', id) );
-        }
-    }
-};
-
-var TEST_XML = '<?xml version="1.0" encoding="UTF-8"?>\n' +
-    '<widget xmlns     = "http://www.w3.org/ns/widgets"\n' +
-    '        xmlns:cdv = "http://cordova.apache.org/ns/1.0"\n' +
-    '        id        = "io.cordova.hellocordova"\n' +
-    '        version   = "0.0.1">\n' +
-    '    <name>Hello Cordova</name>\n' +
-    '    <description>\n' +
-    '        A sample Apache Cordova application that responds to the deviceready event.\n' +
-    '    </description>\n' +
-    '    <author href="http://cordova.io" email="dev@cordova.apache.org">\n' +
-    '        Apache Cordova Team\n' +
-    '    </author>\n' +
-    '    <content src="index.html" />\n' +
-    '    <access origin="*" />\n' +
-    '    <preference name="fullscreen" value="true" />\n' +
-    '    <preference name="webviewbounce" value="true" />\n' +
-    '</widget>\n';
-
-describe('plugman install start', function() {
-    var config_queue_add, proc, actions_push, ca, emit;
-
-    beforeEach(function() {
-        config_queue_add = spyOn(PlatformJson.prototype, 'addInstalledPluginToPrepareQueue');
-        proc = spyOn(actions.prototype, 'process').and.returnValue( Q(true) );
-        actions_push = spyOn(actions.prototype, 'push');
-        ca = spyOn(actions.prototype, 'createAction');
-
-        var origParseElementtreeSync = xmlHelpers.parseElementtreeSync.bind(xmlHelpers);
-        spyOn(xmlHelpers, 'parseElementtreeSync').and.callFake(function(path) {
-            if (/config.xml$/.test(path)) return new et.ElementTree(et.XML(TEST_XML));
-            return origParseElementtreeSync(path);
-        });
-    });
-
-    it('Test 001 : plugman install start', function(done) {
-        shell.rm('-rf', project);
-        shell.cp('-R', path.join(srcProject, '*'), project);
-
-        // Every time when addPlugin is called it will return some truthy value
-        var returnValueIndex = 0;
-        var returnValues = [true, {}, [], 'foo', function(){}];
-        var api = knownPlatforms.getPlatformApi('android', project);
-        var addPluginOrig = api.addPlugin;
-        spyOn(api, 'addPlugin').and.callFake(function () {
-            return addPluginOrig.apply(api, arguments)
-            .thenResolve(returnValues[returnValueIndex++]);
-        });
-
-        return install('android', project, plugins['org.test.plugins.dummyplugin'])
-        .then(function(result) {
-            expect(result).toBeTruthy();
-            results['actions_callCount'] = actions_push.calls.count();
-            results['actions_create'] = ca.calls.argsFor[0];
-            results['config_add'] = config_queue_add.calls.argsFor[0];
-            return result;
-        }).then(function(){
-            return install('android', project, plugins['com.cordova.engine']);
-        }).then(function(result) {
-            expect(result).toBeTruthy();
-            emit = spyOn(events, 'emit');
-            return install('android', project, plugins['org.test.plugins.childbrowser']);
-        }).then(function(result) {
-            expect(result).toBeTruthy();
-            return install('android', project, plugins['com.adobe.vars'], plugins_install_dir, { cli_variables:{API_KEY:'batman'} });
-        }).then(function(result){
-            expect(result).toBeTruthy();
-            return install('android', project, plugins['org.test.defaultvariables'], plugins_install_dir, { cli_variables:{API_KEY:'batman'} });
-        }).then(function(result){
-            expect(result).toBeTruthy();
-            results['emit_results'] = [];
-            emit.calls.all().forEach(function(val, i){
-                if(emit.calls.argsFor(i)[0] === 'results')
-                    results['emit_results'].push(emit.calls.argsFor(i)[1]);
-            });
-            events.emit('verbose', '***** DONE START *****');
-            done();
-        }).fail(function(error) {
-            expect(error).toBeUndefined();
-            done();
-        });
-    }, TIMEOUT);
-});
-
-describe('install', function() {
-    var chmod, exec, add_to_queue, cp, rm, fetchSpy;
-    var spawnSpy;
-
-    beforeEach(function() {
-
-        exec = spyOn(child_process, 'exec').and.callFake(function(cmd, cb) {
-            cb(false, '', '');
-        });
-        spawnSpy = spyOn(superspawn, 'spawn').and.returnValue(Q('3.1.0'));
-        spyOn(fs, 'mkdirSync').and.returnValue(true);
-        spyOn(shell, 'mkdir').and.returnValue(true);
-        spyOn(platforms, 'copyFile').and.returnValue(true);
-
-        fetchSpy = spyOn(plugman.raw, 'fetch').and.returnValue( Q( plugins['com.cordova.engine'] ) );
-        chmod = spyOn(fs, 'chmodSync').and.returnValue(true);
-        spyOn(fs, 'writeFileSync').and.returnValue(true);
-        cp = spyOn(shell, 'cp').and.returnValue(true);
-        rm = spyOn(shell, 'rm').and.returnValue(true);
-        add_to_queue = spyOn(PlatformJson.prototype, 'addInstalledPluginToPrepareQueue');
-        done = false;
-    });
-
-    describe('success', function() {
-        it('Test 002 : should emit a results event with platform-agnostic <info>', function() {
-            // org.test.plugins.childbrowser
-            expect(results['emit_results'][0]).toBe('No matter what platform you are installing to, this notice is very important.');
-        }, TIMEOUT);
-        it('Test 003 : should emit a results event with platform-specific <info>', function() {
-            // org.test.plugins.childbrowser
-            expect(results['emit_results'][1]).toBe('Please make sure you read this because it is very important to complete the installation of your plugin.');
-        }, TIMEOUT);
-        it('Test 004 : should interpolate variables into <info> tags', function() {
-            // VariableBrowser
-            expect(results['emit_results'][2]).toBe('Remember that your api key is batman!');
-        }, TIMEOUT);
-        it('Test 005 : should call fetch if provided plugin cannot be resolved locally', function(done) {
-            fetchSpy.and.returnValue( Q( plugins['org.test.plugins.dummyplugin'] ) );
-            spyOn(fs, 'existsSync').and.callFake( fake['existsSync']['noPlugins'] );
-            install('android', project, 'CLEANYOURSHORTS')
-            .fail(function(err){
-                expect(err).toBeUndefined();
-            })
-            .fin(function () {
-                expect(fetchSpy).toHaveBeenCalled();
-                done();
-            });
-        });
-        
-        describe('engine versions', function () {
-            var fail, satisfies;
-            beforeEach(function () {
-                fail = jasmine.createSpy('fail');
-                satisfies = spyOn(semver, 'satisfies').and.returnValue(true);
-                spyOn(PlatformJson.prototype, 'isPluginInstalled').and.returnValue(false);
-            });
-
-            it('Test 007 : should check version if plugin has engine tag', function(done){
-                exec.and.callFake(function(cmd, cb) { cb(null, '2.5.0\n'); });
-                install('android', project, plugins['com.cordova.engine'])
-                .fail(fail)
-                .fin(function () {
-                    expect(satisfies).toHaveBeenCalledWith('2.5.0','>=1.0.0', true);
-                    done();
-                });
-            }, TIMEOUT);
-            it('Test 008 : should check version and munge it a little if it has "rc" in it so it plays nice with semver (introduce a dash in it)', function(done) {
-                exec.and.callFake(function(cmd, cb) { cb(null, '3.0.0rc1\n'); });
-                install('android', project, plugins['com.cordova.engine'])
-                .fail(fail)
-                .fin(function () {
-                    expect(satisfies).toHaveBeenCalledWith('3.0.0-rc1','>=1.0.0', true);
-                    done();
-                });
-            }, TIMEOUT);
-            it('Test 009 : should check specific platform version over cordova version if specified', function(done) {
-                exec.and.callFake(function(cmd, cb) { cb(null, '3.1.0\n'); });
-                install('android', project, plugins['com.cordova.engine-android'])
-                .fail(fail)
-                .fin(function() {
-                    expect(satisfies).toHaveBeenCalledWith('3.1.0','>=3.1.0', true);
-                    done();
-                });
-            }, TIMEOUT);
-            it('Test 010 : should check platform sdk version if specified', function(done) {
-                var cordovaVersion = require('../package.json').version.replace(/-dev|-nightly.*$/, '');
-                exec.and.callFake(function(cmd, cb) { cb(null, '18\n'); });
-                install('android', project, plugins['com.cordova.engine-android'])
-                .fail(fail)
-                .fin(function() {
-                    expect(satisfies.calls.count()).toBe(3);
-                    // <engine name="cordova" VERSION=">=3.0.0"/>
-                    expect(satisfies.calls.argsFor(0)).toEqual([ cordovaVersion, '>=3.0.0', true ]);
-                    // <engine name="cordova-android" VERSION=">=3.1.0"/>
-                    expect(satisfies.calls.argsFor(1)).toEqual([ '18.0.0', '>=3.1.0', true ]);
-                    // <engine name="android-sdk" VERSION=">=18"/>
-                    expect(satisfies.calls.argsFor(2)).toEqual([ '18.0.0','>=18', true ]);
-                    done();
-                });
-            }, TIMEOUT);
-            it('Test 011 : should check engine versions', function(done) {
-                install('android', project, plugins['com.cordova.engine'])
-                .fail(fail)
-                .fin(function() {
-                    var plugmanVersion = require('../package.json').version.replace(/-dev|-nightly.*$/, '');
-                    var cordovaVersion = require('../package.json').version.replace(/-dev|-nightly.*$/, '');
-                    expect(satisfies.calls.count()).toBe(4);
-                    // <engine name="cordova" version=">=2.3.0"/>
-                    expect(satisfies.calls.argsFor(0)).toEqual([ cordovaVersion, '>=2.3.0', true ]);
-                    // <engine name="cordova-plugman" version=">=0.10.0" />
-                    expect(satisfies.calls.argsFor(1)).toEqual([ plugmanVersion, '>=0.10.0', true ]);
-                    // <engine name="mega-fun-plugin" version=">=1.0.0" scriptSrc="megaFunVersion" platform="*" />
-                    expect(satisfies.calls.argsFor(2)).toEqual([ null, '>=1.0.0', true ]);
-                    // <engine name="mega-boring-plugin" version=">=3.0.0" scriptSrc="megaBoringVersion" platform="ios|android" />
-                    expect(satisfies.calls.argsFor(3)).toEqual([ null, '>=3.0.0', true ]);
-                    done();
-                });
-            }, TIMEOUT);
-            it('Test 012 : should not check custom engine version that is not supported for platform', function(done) {
-                install('blackberry10', project, plugins['com.cordova.engine'])
-                .then(fail)
-                .fail(function () {
-                    expect(satisfies).not.toHaveBeenCalledWith('','>=3.0.0', true);
-                })
-                .fin(done);
-            }, TIMEOUT);
-        });
-
-        it('Test 014 : should not check custom engine version that is not supported for platform', function(done) {
-            var spy = spyOn(semver, 'satisfies').and.returnValue(true);
-            install('blackberry10', project, plugins['com.cordova.engine'])
-            .then(function() {
-                expect(spy).not.toHaveBeenCalledWith('','>=3.0.0');
-            }).fail(function(err) {
-                expect(err).toBeUndefined();
-            }).fin(done);
-        }, TIMEOUT);
-
-        describe('with dependencies', function() {
-            var emit;
-            beforeEach(function() {
-                spyOn(fs, 'existsSync').and.callFake( fake['existsSync']['noPlugins'] );
-                fetchSpy.and.callFake( fake['fetch']['dependencies'] );
-                emit = spyOn(events, 'emit');
-                exec.and.callFake(function(cmd, cb) {
-                    cb(null, '9.0.0\n');
-                });
-
-                function PlatformApiMock() {}
-                PlatformApiMock.addPlugin = function() {
-                    return Q();
-                };
-                spyOn(knownPlatforms, 'getPlatformApi').and.returnValue(PlatformApiMock);
-            });
-
-            it('Test 015 : should install specific version of dependency', function(done) {
-                // Plugin I depends on C@1.0.0
-                emit.calls.reset();
-                return install('android', project, plugins['I'])
-                .then(function() {
-                    var install = common.spy.getInstall(emit);
-                    expect(fetchSpy).toHaveBeenCalledWith('C@1.0.0', jasmine.any(String), jasmine.any(Object));
-                    expect(install).toEqual([
-                        'Install start for "C" on android.',
-                        'Install start for "I" on android.'
-                    ]);
-                    done();
-                }, TIMEOUT);
-            }, TIMEOUT);
-
-            it('Test 016 : should install any dependent plugins if missing', function(done) {
-                emit.calls.reset();
-                return install('android', project, plugins['A'])
-                .then(function() {
-                    var install = common.spy.getInstall(emit);
-                    expect(install).toEqual([
-                        'Install start for "C" on android.',
-                        'Install start for "D" on android.',
-                        'Install start for "A" on android.'
-                    ]);
-                    done();
-                }); 
-            }, TIMEOUT);
-
-            it('Test 017 : should install any dependent plugins from registry when url is not defined', function(done) {
-                emit.calls.reset();
-                return install('android', project, plugins['A'])
-                .then(function() {
-                    var install = common.spy.getInstall(emit);
-                    expect(install).toEqual([
-                        'Install start for "C" on android.',
-                        'Install start for "D" on android.',
-                        'Install start for "A" on android.'
-                    ]);
-                    done();
-                });
-            }, TIMEOUT);
-
-            it('Test 018 : should process all dependent plugins with alternate routes to the same plugin', function(done) {
-                // Plugin F depends on A, C, D and E
-                emit.calls.reset();
-                return install('android', project, plugins['F'])
-                .then(function() {
-                    var install = common.spy.getInstall(emit);
-                    expect(install).toEqual([
-                        'Install start for "C" on android.',
-                        'Install start for "D" on android.',
-                        'Install start for "A" on android.',
-                        'Install start for "D" on android.',
-                        'Install start for "F" on android.'
-                    ]);
-                    done();
-                });
-            }, TIMEOUT);
-
-            it('Test 019 : should throw if there is a cyclic dependency', function(done) {
-                return install('android', project, plugins['G'])
-                .then(function() {
-                    common.spy.getInstall(emit);
-                }).fail(function err (errMsg) {
-                    expect(errMsg.toString()).toContain('Cyclic dependency from G to H');
-                }).fin(done);
-            }, TIMEOUT);
-
-            it('Test 020 : install subdir relative to top level plugin if no fetch meta', function(done) {
-                return install('android', project, plugins['B'])
-                .then(function() {
-                    var install = common.spy.getInstall(emit);
-                    expect(install).toEqual([
-                        'Install start for "D" on android.',
-                        'Install start for "E" on android.',
-                        'Install start for "B" on android.'
-                    ]);
-                    done();
-                });
-            }, TIMEOUT);
-
-            it('Test 021 : install uses meta data (if available) of top level plugin source', function(done) {
-                // Fake metadata so plugin 'B' appears from 'meta/B'
-                var meta = require('../src/plugman/util/metadata');
-                spyOn(meta, 'get_fetch_metadata').and.callFake(function(){
-                    return {
-                        source: {type: 'dir', url: path.join(plugins['B'], '..', 'meta')}
-                    };
-                });
-
-                return install('android', project, plugins['B'])
-                .then(function() {
-                    var install = common.spy.getInstall(emit);
-                    expect(install).toEqual([
-                        'Install start for "D" on android.',
-                        'Install start for "E" on android.',
-                        'Install start for "B" on android.'
-                    ]);
-
-                    var copy = common.spy.startsWith(emit, 'Copying from');
-                    expect(copy.length).toBe(3);
-                    expect(copy[0].indexOf(path.normalize('meta/D')) > 0).toBe(true);
-                    expect(copy[1].indexOf(path.normalize('meta/subdir/E')) > 0).toBe(true);
-                    done();
-                });
-            }, TIMEOUT);
-        });
-    });
-
-    describe('failure', function() {
-        it('Test 023 : should throw if variables are missing', function(done) {
-            var success = jasmine.createSpy('success');
-            spyOn(PlatformJson.prototype, 'isPluginInstalled').and.returnValue(false);
-            install('android', project, plugins['com.adobe.vars'])
-            .then(success)
-            .fail(function (err) {
-                expect(err.toString()).toContain('Variable(s) missing: API_KEY');
-            })
-            .fin(function () {
-                expect(success).not.toHaveBeenCalled();
-                done();
-            });
-        }, TIMEOUT);
-
-        it('Test 024 : should throw if git is not found on the path and a remote url is requested', function(done) {
-            spyOn(fs, 'existsSync').and.callFake( fake['existsSync']['noPlugins'] );
-            fetchSpy.and.callThrough();
-            spyOn(shell, 'which').and.returnValue(null);
-            install('android', project, 'https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git')
-            .then(function(result) {
-                expect(false).toBe(true);
-                done();
-            }).fail(function err(errMsg) {
-                expect(errMsg.toString()).toContain('"git" command line tool is not installed: make sure it is accessible on your PATH.');
-                done();
-            });
-        }, TIMEOUT);
-
-        it('Test 025 :should not fail when trying to install plugin less than minimum version. Skip instead  ', function(done){
-            spyOn(semver, 'satisfies').and.returnValue(false);
-            exec.and.callFake(function(cmd, cb) {
-                cb(null, '0.0.1\n');
-            });
-            install('android', project, plugins['com.cordova.engine'])
-            .then(function(result) {
-                expect(result).toBe(true);
-                done();
-            })
-            .fail(function (error) {
-                expect(error).toBeUndefined();
-            });
-        }, TIMEOUT);
-
-        it('Test 026 : should throw if the engine scriptSrc escapes out of the plugin dir.', function(done) {
-            var success = jasmine.createSpy('success'),
-                fail = jasmine.createSpy('fail').and.callFake(function(err) {
-                    // <engine name="path-escaping-plugin" version=">=1.0.0" scriptSrc="../../../malicious/script" platform="*" />
-                    expect(err).toBeDefined();
-                    expect(err.message.indexOf('Security violation:')).toBe(0);
-                });
-
-            spyOn(PlatformJson.prototype, 'isPluginInstalled').and.returnValue(false);
-            install('android', project, plugins['org.test.invalid.engine.script'])
-                .then(success)
-                .fail(fail)
-                .fin(function() {
-                    expect(success).not.toHaveBeenCalled();
-                    expect(fail).toHaveBeenCalled();
-                    done();
-                });
-        }, TIMEOUT);
-        it('Test 027 : should throw if a non-default cordova engine platform attribute is not defined.', function(done) {
-            var success = jasmine.createSpy('success'),
-                fail = jasmine.createSpy('fail');
-            spyOn(PlatformJson.prototype, 'isPluginInstalled').and.returnValue(false);
-            install('android', project, plugins['org.test.invalid.engine.no.platform'])
-                .then(success)
-                .fail(fail)
-                .fin(function() {
-                    expect(success).not.toHaveBeenCalled();
-                    expect(fail).toHaveBeenCalled();
-                    done();
-                });
-        }, TIMEOUT);
-        it('Test 028 : should throw if a non-default cordova engine scriptSrc attribute is not defined.', function(done) {
-            var success = jasmine.createSpy('success'),
-                fail = jasmine.createSpy('fail');
-            spyOn(PlatformJson.prototype, 'isPluginInstalled').and.returnValue(false);
-            install('android', project, plugins['org.test.invalid.engine.no.scriptSrc'])
-                .then(success)
-                .fail(fail)
-                .fin(function() {
-                    expect(success).not.toHaveBeenCalled();
-                    expect(fail).toHaveBeenCalled();
-                    done();
-                });
-        }, TIMEOUT);
-    });
-});
-
-describe('end', function() {
-
-    it('Test 034 : end', function() {
-        shell.rm('-rf', temp_dir);
-    }, TIMEOUT);
-});

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/owner.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/owner.spec.js b/cordova-lib/spec-plugman/owner.spec.js
deleted file mode 100644
index 868c364..0000000
--- a/cordova-lib/spec-plugman/owner.spec.js
+++ /dev/null
@@ -1,30 +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 owner = require('../src/plugman/owner'),
-    Q = require('q'),
-    registry = require('../src/plugman/registry/registry');
-
-describe('owner', function() {
-    it('Test 001 : should run owner', function() {
-        var sOwner = spyOn(registry, 'owner').and.returnValue(Q());
-        var params = ['add', 'anis', 'org.test.plugins.dummyplugin'];
-        owner(params);
-        expect(sOwner).toHaveBeenCalledWith(params);
-    });
-});

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/platforms/amazon-fireos.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/platforms/amazon-fireos.spec.js b/cordova-lib/spec-plugman/platforms/amazon-fireos.spec.js
deleted file mode 100644
index 3e6fa2d..0000000
--- a/cordova-lib/spec-plugman/platforms/amazon-fireos.spec.js
+++ /dev/null
@@ -1,140 +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 amazon_fireos = require('../../src/plugman/platforms/amazon-fireos'),
-    common  = require('../../src/plugman/platforms/common'),
-    install = require('../../src/plugman/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/plugman/util/plugins'),
-    dummyplugin = path.join(__dirname, '..', 'plugins', 'org.test.plugins.dummyplugin'),
-    faultyplugin = path.join(__dirname, '..', 'plugins', 'org.test.plugins.faultyplugin'),
-    amazon_fireos_one_project = path.join(__dirname, '..', 'projects', 'android_one', '*'),
-    amazon_fireos_two_project = path.join(__dirname, '..', 'projects', 'android_two', '*');
-
-var PluginInfo = require('../../src/PluginInfo');
-
-var dummyPluginInfo = new PluginInfo(dummyplugin);
-var dummy_id = dummyPluginInfo.id;
-var valid_source = dummyPluginInfo.getSourceFiles('amazon-fireos');
-
-var faultyPluginInfo = new PluginInfo(faultyplugin);
-var invalid_source = faultyPluginInfo.getSourceFiles('amazon-fireos');
-
-function copyArray(arr) {
-    return Array.prototype.slice.call(arr, 0);
-}
-*/
-/*
-describe('amazon-fireos project handler', function() {
-    describe('www_dir method', function() {
-        it('should return cordova-amazon-fireos project www location using www_dir', function() {
-            expect(amazon_fireos.www_dir(path.sep)).toEqual(path.sep + path.join('assets', 'www'));
-        });
-    });
-    describe('package_name method', function() {
-        it('should return an amazon-fireos project\'s proper package name', function() {
-            expect(amazon_fireos.package_name(path.join(amazon_fireos_one_project, '..'))).toEqual('com.alunny.childapp');
-        });
-    });
-
-    describe('installation', function() {
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <lib-file> elements', function() {
-            it("should copy jar files to project/libs", function () {
-                var s = spyOn(common, 'copyFile');
-
-                amazon_fireos['lib-file'].install(valid_libs[0], dummyplugin, temp);
-                expect(s).toHaveBeenCalledWith(dummyplugin, 'src/amazon-fireos/TestLib.jar', temp, path.join('libs', 'TestLib.jar'));
-            });
-        });
-        describe('of <source-file> elements', function() {
-            beforeEach(function() {
-                shell.cp('-rf', amazon_fireos_one_project, temp);
-            });
-
-            it('should copy stuff from one location to another by calling common.copyFile', function() {
-                var source = copyArray(valid_source);
-                var s = spyOn(common, 'copyFile');
-                amazon_fireos['source-file'].install(source[0], dummyplugin, temp);
-                expect(s).toHaveBeenCalledWith(dummyplugin, 'src/amazon-fireos/DummyPlugin.java', temp, path.join('src', 'com', 'phonegap', 'plugins', 'dummyplugin', 'DummyPlugin.java'));
-            });
-            it('should throw if source file cannot be found', function() {
-                var source = copyArray(invalid_source);
-                expect(function() {
-                    amazon_fireos['source-file'].install(source[0], faultyplugin, temp);
-                }).toThrow('"' + path.resolve(faultyplugin, 'src/amazon-fireos/NotHere.java') + '" not found!');
-            });
-            it('should throw if target file already exists', function() {
-                // write out a file
-                var target = path.resolve(temp, 'src/com/phonegap/plugins/dummyplugin');
-                shell.mkdir('-p', target);
-                target = path.join(target, 'DummyPlugin.java');
-                fs.writeFileSync(target, 'some bs', 'utf-8');
-
-                var source = copyArray(valid_source);
-                expect(function() {
-                    amazon_fireos['source-file'].install(source[0], dummyplugin, temp);
-                }).toThrow('"' + target + '" already exists!');
-            });
-        });
-    });
-
-    describe('uninstallation', function() {
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-            shell.mkdir('-p', plugins_dir);
-            shell.cp('-rf', amazon_fireos_two_project, temp);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <lib-file> elements', function(done) {
-            it('should remove jar files', function () {
-                var s = spyOn(common, 'removeFile');
-                amazon_fireos['lib-file'].install(valid_libs[0], dummyplugin, temp);
-                amazon_fireos['lib-file'].uninstall(valid_libs[0], temp, dummy_id);
-                expect(s).toHaveBeenCalledWith(temp, path.join('libs', 'TestLib.jar'));
-            });
-        });
-        describe('of <source-file> elements', function() {
-            it('should remove stuff by calling common.deleteJava', function(done) {
-                var s = spyOn(common, 'deleteJava');
-                install('amazon-fireos', temp, dummyplugin, plugins_dir, {})
-                .then(function() {
-                    var source = copyArray(valid_source);
-                    amazon_fireos['source-file'].uninstall(source[0], temp);
-                    expect(s).toHaveBeenCalledWith(temp, path.join('src', 'com', 'phonegap', 'plugins', 'dummyplugin', 'DummyPlugin.java'));
-                    done();
-                });
-            });
-        });
-    });
-}); */

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/platforms/blackberry10.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/platforms/blackberry10.spec.js b/cordova-lib/spec-plugman/platforms/blackberry10.spec.js
deleted file mode 100644
index e1afa7c..0000000
--- a/cordova-lib/spec-plugman/platforms/blackberry10.spec.js
+++ /dev/null
@@ -1,149 +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 blackberry10 = require('../../src/plugman/platforms/blackberry10'),
-    common = require('../../src/plugman/platforms/common'),
-    path = require('path'),
-    fs = require('fs'),
-    shell = require('shelljs'),
-    os = require('os'),
-    temp = path.join(os.tmpdir(), 'plugman'),
-    blackberry10_project = path.join(__dirname, '..', 'projects', 'blackberry10', '*');
-var PluginInfo = require('cordova-common').PluginInfo;
-
-var plugins = {
-    dummy: new PluginInfo(path.join(__dirname, '..', 'plugins', 'org.test.plugins.dummyplugin')),
-    faulty: new PluginInfo(path.join(__dirname, '..', 'plugins', 'org.test.plugins.faultyplugin')),
-    echo: new PluginInfo(path.join(__dirname, '..', 'plugins', 'com.cordova.echo'))
-};
-
-
-function copyArray(arr) {
-    return Array.prototype.slice.call(arr, 0);
-}
-
-
-describe('blackberry10 project handler', function() {
-    describe('www_dir method', function() {
-        it('Test 001 : should return cordova-blackberry10 project www location using www_dir', function() {
-            expect(blackberry10.www_dir(path.sep)).toEqual(path.sep + 'www');
-        });
-    });
-
-    describe('package_name method', function() {
-        it('Test 002 : should return a blackberry10 project\'s proper package name', function() {
-            expect(blackberry10.package_name(path.join(blackberry10_project, '..'))).toEqual('cordovaExample');
-        });
-    });
-
-    describe('installation', function() {
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-            shell.cp('-rf', blackberry10_project, temp);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <lib-file> elements', function() {
-            it('Test 003 : should copy so files to native/target/plugins', function () {
-                var plugin = plugins.echo,
-                    libs = copyArray(plugin.getLibFiles('blackberry10')),
-                    s = spyOn(common, 'copyFile');
-
-                blackberry10['lib-file'].install(libs[0], plugin.dir, temp);
-                expect(s).toHaveBeenCalledWith(plugin.dir, 'src/blackberry10/native/device/echoJnext.so', temp, path.join('native', 'device', 'plugins', 'jnext', 'echoJnext.so'), false);
-            });
-        });
-        describe('of <source-file> elements', function() {
-            it('Test 004 : should copy stuff from one location to another by calling common.copyFile', function() {
-                var plugin = plugins.echo,
-                    source = copyArray(plugin.getSourceFiles('blackberry10')),
-                    s = spyOn(common, 'copyFile');
-
-                blackberry10['source-file'].install(source[0], plugin.dir, temp, plugin.id);
-                expect(s).toHaveBeenCalledWith(plugin.dir, 'src/blackberry10/index.js', temp, path.join('native', 'device', 'chrome', 'plugin', 'com.cordova.echo', 'index.js'), false);
-                expect(s).toHaveBeenCalledWith(plugin.dir, 'src/blackberry10/index.js', temp, path.join('native', 'simulator', 'chrome', 'plugin', 'com.cordova.echo', 'index.js'), false);
-            });
-            it('Test 005 : defaults to plugin id when dest is not present', function() {
-                var source = copyArray(plugins.dummy.getSourceFiles('blackberry10'));
-                var s = spyOn(common, 'copyFile');
-                blackberry10['source-file'].install(source[0], plugins.dummy.dir, temp, plugins.dummy.id);
-                expect(s).toHaveBeenCalledWith(plugins.dummy.dir, 'src/blackberry10/index.js', temp, path.join('native', 'device', 'chrome', 'plugin', plugins.dummy.id, 'index.js'), false);
-                expect(s).toHaveBeenCalledWith(plugins.dummy.dir, 'src/blackberry10/index.js', temp, path.join('native', 'simulator', 'chrome', 'plugin', plugins.dummy.id, 'index.js'), false);
-            });
-            it('Test 006 : should throw if source file cannot be found', function() {
-                var source = copyArray(plugins.faulty.getSourceFiles('blackberry10'));
-                expect(function() {
-                    blackberry10['source-file'].install(source[0], plugins.faulty.dir, temp, plugins.faulty.id);
-                }).toThrow(new Error ('"' + path.resolve(plugins.faulty.dir, 'src/blackberry10/index.js') + '" not found!'));
-            });
-            it('Test 007 : should throw if target file already exists', function() {
-                // write out a file
-                var target = path.resolve(temp, 'native/device/chrome/plugin/org.test.plugins.dummyplugin');
-                shell.mkdir('-p', target);
-                target = path.join(target, 'index.js');
-                fs.writeFileSync(target, 'some bs', 'utf-8');
-
-                var source = copyArray(plugins.dummy.getSourceFiles('blackberry10'));
-                expect(function() {
-                    blackberry10['source-file'].install(source[0], plugins.dummy.dir, temp, plugins.dummy.id);
-                }).toThrow(new Error ('"' + target + '" already exists!'));
-            });
-        });
-    });
-
-    describe('uninstallation', function() {
-        beforeEach(function() {
-            shell.mkdir('-p', temp);
-            shell.cp('-rf', blackberry10_project, temp);
-        });
-        afterEach(function() {
-            shell.rm('-rf', temp);
-        });
-        describe('of <source-file> elements', function() {
-            it('Test 008 : should remove stuff by calling common.removeFile', function() {
-                var s = spyOn(common, 'removeFile'),
-                    plugin = plugins.echo;
-                var source = copyArray(plugin.getSourceFiles('blackberry10'));
-                blackberry10['source-file'].install(source[0], plugin.dir, temp, plugin.id);
-                blackberry10['source-file'].uninstall(source[0], temp, plugin.id);
-                expect(s).toHaveBeenCalledWith(temp, path.join('native', 'device', 'chrome', 'plugin', 'com.cordova.echo', 'index.js'));
-                expect(s).toHaveBeenCalledWith(temp, path.join('native', 'simulator', 'chrome', 'plugin', 'com.cordova.echo', 'index.js'));
-            });
-            it('Test 009 : should remove stuff by calling common.removeFile', function() {
-                var s = spyOn(common, 'removeFile'),
-                    plugin = plugins.dummy;
-                var source = copyArray(plugin.getSourceFiles('blackberry10'));
-                blackberry10['source-file'].install(source[0], plugin.dir, temp, plugin.id);
-                blackberry10['source-file'].uninstall(source[0], temp, plugin.id);
-                expect(s).toHaveBeenCalledWith(temp, path.join('native', 'device', 'chrome', 'plugin', plugin.id, 'index.js'));
-                expect(s).toHaveBeenCalledWith(temp, path.join('native', 'simulator', 'chrome', 'plugin', plugin.id, 'index.js'));
-            });
-        });
-        describe('of <lib-file> elements', function() {
-            it('Test 010 : should remove so files from www/plugins', function () {
-                var s = spyOn(common, 'removeFile'),
-                    plugin = plugins.echo;
-                var source = copyArray(plugin.getLibFiles('blackberry10'));
-                blackberry10['lib-file'].install(source[0], plugin.dir, temp, plugin.id);
-                blackberry10['lib-file'].uninstall(source[0], temp, plugin.id);
-                expect(s).toHaveBeenCalledWith(temp, path.join('native','device','plugins','jnext','echoJnext.so'));
-            });
-        });
-    });
-});

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/platforms/common.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/platforms/common.spec.js b/cordova-lib/spec-plugman/platforms/common.spec.js
deleted file mode 100644
index a83198b..0000000
--- a/cordova-lib/spec-plugman/platforms/common.spec.js
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- *
- *
- * 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.
- *
-*/
-
-/* jshint laxcomma:true */
-
-var common = require('../../src/plugman/platforms/common')
-  , path = require('path')
-  , fs = require('fs')
-  , osenv = require('os')
-  , shell = require('shelljs')
-  , test_dir = path.join(osenv.tmpdir(), 'test_plugman')
-  , project_dir = path.join(test_dir, 'project')
-  , src = path.join(project_dir, 'src')
-  , dest = path.join(project_dir, 'dest')
-  , java_dir = path.join(src, 'one', 'two', 'three')
-  , java_file = path.join(java_dir, 'test.java')
-  , symlink_file = path.join(java_dir, 'symlink')
-  , symlink_dir = path.join(java_dir, 'symlink_dir')
-  , symlink_dir_relative_file = path.join('one', 'two', 'file')
-  , non_plugin_file = path.join(osenv.tmpdir(), 'non_plugin_file');
-
-describe('common platform handler', function() {
-    describe('resolveSrcPath', function() {
-        it('Test 001 : should not throw if path exists', function(){
-            shell.mkdir('-p', test_dir);
-            var target = path.join(test_dir, 'somefile');
-            fs.writeFileSync(target, '80085', 'utf-8');
-            expect(function(){common.resolveSrcPath(test_dir, 'somefile');}).not.toThrow();
-            shell.rm('-rf', test_dir);
-        });
-    });
-
-    describe('resolveTargetPath', function() {
-        it('Test 002 : should throw if path exists', function(){
-            shell.mkdir('-p', test_dir);
-            expect(function(){common.resolveTargetPath(test_dir);}).toThrow();
-            shell.rm('-rf', test_dir);
-        });
-
-        it('Test 003 : should not throw if path cannot be resolved', function(){
-            expect(function(){common.resolveTargetPath(test_dir, 'somefile');}).not.toThrow();
-        });
-    });
-
-    describe('copyFile', function() {
-        it('Test 004 : should throw if source path not found', function(){
-            expect(function(){common.copyFile(test_dir, src, project_dir, dest);}).
-                toThrow(new Error('"' + src + '" not found!'));
-        });
-
-        it('Test 005 : should throw if src not in plugin directory', function(){
-            shell.mkdir('-p', project_dir);
-            fs.writeFileSync(non_plugin_file, 'contents', 'utf-8');
-            expect(function(){common.copyFile(test_dir, '../non_plugin_file', project_dir, dest);}).
-                toThrow(new Error('"' + non_plugin_file + '" not located within plugin!'));
-            shell.rm('-rf', test_dir);
-        });
-
-        it('Test 006 : should allow symlink src, if inside plugin', function(){
-            shell.mkdir('-p', java_dir);
-            fs.writeFileSync(java_file, 'contents', 'utf-8');
-
-            // This will fail on windows if not admin - ignore the error in that case.
-            if (ignoreEPERMonWin32(java_file, symlink_file)) {
-                return;
-            }
-
-            common.copyFile(test_dir, symlink_file, project_dir, dest);
-            shell.rm('-rf', project_dir);
-        });
-
-        it('Test 007 : should deeply symlink directory tree when src is a directory', function(){
-            var symlink_dir_relative_subdir = path.dirname(symlink_dir_relative_file);
-
-            shell.mkdir('-p', path.join(symlink_dir, symlink_dir_relative_subdir));
-            fs.writeFileSync(path.join(symlink_dir, symlink_dir_relative_file), 'contents', 'utf-8');
-
-            // This will fail on windows if not admin - ignore the error in that case.
-            if (ignoreEPERMonWin32(java_file, symlink_file)) {
-                return;
-            }
-
-            var create_symlink = true;
-            common.copyFile(test_dir, symlink_dir, project_dir, dest, create_symlink);
-
-            expect(path.resolve(dest, symlink_dir_relative_subdir, fs.readlinkSync(path.join(dest, symlink_dir_relative_file)))).toBe(path.resolve(symlink_dir, symlink_dir_relative_file));
-            shell.rm('-rf', project_dir);
-        });
-
-        it('Test 008 : should throw if symlink is linked to a file outside the plugin', function(){
-            shell.mkdir('-p', java_dir);
-            fs.writeFileSync(non_plugin_file, 'contents', 'utf-8');
-
-            // This will fail on windows if not admin - ignore the error in that case.
-            if (ignoreEPERMonWin32(non_plugin_file, symlink_file)) {
-                return;
-            }
-
-            expect(function(){common.copyFile(test_dir, symlink_file, project_dir, dest);}).
-                toThrow(new Error('"' + symlink_file + '" not located within plugin!'));
-            shell.rm('-rf', project_dir);
-        });
-
-        it('Test 009 : should throw if dest is outside the project directory', function(){
-            shell.mkdir('-p', java_dir);
-            fs.writeFileSync(java_file, 'contents', 'utf-8');
-            expect(function(){common.copyFile(test_dir, java_file, project_dir, non_plugin_file);}).
-                toThrow(new Error('"' + non_plugin_file + '" not located within project!'));
-            shell.rm('-rf', project_dir);
-        });
-
-        it('Test 010 : should call mkdir -p on target path', function(){
-            shell.mkdir('-p', java_dir);
-            fs.writeFileSync(java_file, 'contents', 'utf-8');
-
-            var s = spyOn(shell, 'mkdir').and.callThrough();
-            var resolvedDest = common.resolveTargetPath(project_dir, dest);
-
-            common.copyFile(test_dir, java_file, project_dir, dest);
-
-            expect(s).toHaveBeenCalled();
-            expect(s).toHaveBeenCalledWith('-p', path.dirname(resolvedDest));
-            shell.rm('-rf', project_dir);
-        });
-
-        it('Test 011 : should call cp source/dest paths', function(){
-            shell.mkdir('-p', java_dir);
-            fs.writeFileSync(java_file, 'contents', 'utf-8');
-
-            var s = spyOn(shell, 'cp').and.callThrough();
-            var resolvedDest = common.resolveTargetPath(project_dir, dest);
-
-            common.copyFile(test_dir, java_file, project_dir, dest);
-
-            expect(s).toHaveBeenCalled();
-            expect(s).toHaveBeenCalledWith('-f', java_file, resolvedDest);
-
-            shell.rm('-rf', project_dir);
-        });
-
-    });
-
-    describe('copyNewFile', function () {
-        it('Test 012 : should throw if target path exists', function(){
-            shell.mkdir('-p', dest);
-            expect(function(){common.copyNewFile(test_dir, src, project_dir, dest);}).
-                toThrow(new Error('"' + dest + '" already exists!'));
-            shell.rm('-rf', dest);
-        });
-
-    });
-
-    describe('deleteJava', function() {
-        it('Test 013 : should call fs.unlinkSync on the provided paths', function(){
-            shell.mkdir('-p', java_dir);
-            fs.writeFileSync(java_file, 'contents', 'utf-8');
-
-            var s = spyOn(fs, 'unlinkSync').and.callThrough();
-            common.deleteJava(project_dir, java_file);
-            expect(s).toHaveBeenCalled();
-            expect(s).toHaveBeenCalledWith(path.resolve(project_dir, java_file));
-
-            shell.rm('-rf', java_dir);
-        });
-
-        it('Test 014 : should delete empty directories after removing source code in a java src path hierarchy', function(){
-            shell.mkdir('-p', java_dir);
-            fs.writeFileSync(java_file, 'contents', 'utf-8');
-
-            common.deleteJava(project_dir, java_file);
-            expect(fs.existsSync(java_file)).not.toBe(true);
-            expect(fs.existsSync(java_dir)).not.toBe(true);
-            expect(fs.existsSync(path.join(src,'one'))).not.toBe(true);
-
-            shell.rm('-rf', java_dir);
-        });
-
-        it('Test 015 : should never delete the top-level src directory, even if all plugins added were removed', function(){
-            shell.mkdir('-p', java_dir);
-            fs.writeFileSync(java_file, 'contents', 'utf-8');
-
-            common.deleteJava(project_dir, java_file);
-            expect(fs.existsSync(src)).toBe(true);
-
-            shell.rm('-rf', java_dir);
-        });
-    });
-});
-
-function ignoreEPERMonWin32(symlink_src, symlink_dest) {
-    try {
-        fs.symlinkSync(symlink_src, symlink_dest);
-    } catch (e) {
-        if (process.platform === 'win32' && e.message.indexOf('Error: EPERM, operation not permitted' > -1)) {
-            return true;
-        }
-        throw e;
-    }
-    return false;
-}

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/platforms/tizen.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/platforms/tizen.spec.js b/cordova-lib/spec-plugman/platforms/tizen.spec.js
deleted file mode 100644
index f4a5bba..0000000
--- a/cordova-lib/spec-plugman/platforms/tizen.spec.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *
- *
- * 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.
- *
-*/
-
-
-var tizen = require('../../src/plugman/platforms/tizen'),
-    os = require('os'),
-    path = require('path'),
-    tizen_project = path.join(__dirname, '..', 'projects', 'tizen');
-
-    path.join( os.tmpdir(), 'plugman-' + ((function() {
-        var index, subIndex,
-           set = 'abcdefghijklmnopqrstuvwxyz0123456789',
-           str = '';
-
-        for ( index = 0 ; index < 12 ; index++ ) {
-            subIndex = Math.round( Math.random() * ( set.length - 1 ) );
-            str += set.substring( subIndex, subIndex + 1 );
-        }
-
-        return str;
-    })() ));
-
-describe('Tizen project handler', function() {
-	describe('www_dir method', function() {
-		it('Test 001 : should append www to the directory passed in', function() {
-			expect(tizen.www_dir(path.sep)).toEqual(path.join(path.sep, 'www'));
-		});
-	});
-	describe('Manipulating project files', function() {
-		describe('package_name method', function() {
-			it('Test 002 : should return the id of the config.xml root element', function() {
-				expect(tizen.package_name(tizen_project)).toEqual('TizenTestPackage');
-			});
-		});
-	});
-});

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.adobe.vars/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.adobe.vars/plugin.xml b/cordova-lib/spec-plugman/plugins/com.adobe.vars/plugin.xml
deleted file mode 100644
index a67b7b2..0000000
--- a/cordova-lib/spec-plugman/plugins/com.adobe.vars/plugin.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    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.
--->
-
-<plugin xmlns="http://cordova.apache.org/ns/plugins/1.0"
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    id="com.adobe.vars"
-    version="3.0.0">
-
-    <name>Use Variables</name>
-
-    <preference name="API_KEY" />
-
-    <info>Remember that your api key is $API_KEY!</info>
-    <!-- android -->
-    <platform name="android">
-		<config-file target="AndroidManifest.xml" parent="/manifest">
-            <poop name="GoogleMapsApiKey" value="$API_KEY" />
-            <package>$PACKAGE_NAME</package>
-		</config-file>
-		
-    </platform>
-
-    <!-- ios -->
-    <platform name="ios">
-        <config-file target="config.xml" parent="/widget">
-            <awesome value="$API_KEY" />
-            <cfbundleid>$PACKAGE_NAME</cfbundleid>
-        </config-file>
-        <config-file target="*-Info.plist" parent="APluginNode">
-            <string></string>
-        </config-file>
-    </platform>
-</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.cordova.echo/.gitignore
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.cordova.echo/.gitignore b/cordova-lib/spec-plugman/plugins/com.cordova.echo/.gitignore
deleted file mode 100644
index c97b828..0000000
--- a/cordova-lib/spec-plugman/plugins/com.cordova.echo/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-./cordova.echo/.gitignore

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.cordova.echo/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.cordova.echo/plugin.xml b/cordova-lib/spec-plugman/plugins/com.cordova.echo/plugin.xml
deleted file mode 100644
index 217b5d3..0000000
--- a/cordova-lib/spec-plugman/plugins/com.cordova.echo/plugin.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin xmlns="http://cordova.apache.org/ns/plugins/1.0"
-    id="com.com.cordova.echo"
-    version="1.0.0">
-
-    <engines>
-        <engine name="cordova" version=">=2.3.0" />
-    </engines>
-
-    <name>com.cordova.echo</name>
-
-    <js-module src="www/client.js">
-        <clobbers target="com.cordova.echo"/>
-    </js-module>
-
-    <platform name="blackberry10">
-        <source-file src="src/blackberry10/index.js" target-dir="com.cordova.echo"/>
-        <lib-file src="src/blackberry10/native/device/echoJnext.so" arch="device"/>
-        <lib-file src="src/blackberry10/native/simulator/echoJnext.so" arch="simulator"/>
-        <config-file target="config.xml" parent="/widget">
-            <feature id="com.cordova.echo" required="true" version="1.0.0.0"/>
-        </config-file>
-    </platform>
-</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/index.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/index.js b/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/index.js
deleted file mode 100644
index 9c333ac..0000000
--- a/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/index.js
+++ /dev/null
@@ -1 +0,0 @@
-./com.cordova.echo/src/blackberry10/index.js

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/native/device/echoJnext.so
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/native/device/echoJnext.so b/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/native/device/echoJnext.so
deleted file mode 100755
index 1c35468..0000000
--- a/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/native/device/echoJnext.so
+++ /dev/null
@@ -1 +0,0 @@
-./com.cordova.echo/src/blackberry10/native/device/echoJnext.so

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/native/simulator/echoJnext.so
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/native/simulator/echoJnext.so b/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/native/simulator/echoJnext.so
deleted file mode 100644
index 2c27285..0000000
--- a/cordova-lib/spec-plugman/plugins/com.cordova.echo/src/blackberry10/native/simulator/echoJnext.so
+++ /dev/null
@@ -1 +0,0 @@
-./com.cordova.echo/src/blackberry10/native/simulator/echoJnext.so

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.cordova.echo/www/client.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.cordova.echo/www/client.js b/cordova-lib/spec-plugman/plugins/com.cordova.echo/www/client.js
deleted file mode 100644
index e29a656..0000000
--- a/cordova-lib/spec-plugman/plugins/com.cordova.echo/www/client.js
+++ /dev/null
@@ -1 +0,0 @@
-./com.cordova.echo/www/client.js

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.cordova.engine-android/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.cordova.engine-android/plugin.xml b/cordova-lib/spec-plugman/plugins/com.cordova.engine-android/plugin.xml
deleted file mode 100644
index 0059e58..0000000
--- a/cordova-lib/spec-plugman/plugins/com.cordova.engine-android/plugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-
-<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
-    id="com.cordova.engine-android"
-    version="1.0.0">
-
-    <name>Engine Choo Choo</name>
-
-    <engines>
-        <engine name="cordova" version=">=3.0.0"/>
-        <engine name="cordova-android" version=">=3.1.0"/>
-        <engine name="android-sdk" version=">=18"/>
-    </engines>
-</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.cordova.engine-ios/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.cordova.engine-ios/plugin.xml b/cordova-lib/spec-plugman/plugins/com.cordova.engine-ios/plugin.xml
deleted file mode 100644
index 194cf5c..0000000
--- a/cordova-lib/spec-plugman/plugins/com.cordova.engine-ios/plugin.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-
-<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
-    id="com.cordova.engine-ios"
-    version="1.0.0">
-
-    <name>Engine Choo Choo</name>
-
-    <engines>
-        <engine name="cordova" version=">=3.0.0"/>
-        <engine name="cordova-android" version=">=3.1.0"/>
-        <engine name="apple-ios" version="6.1"/>
-        <engine name="apple-osx" version=">10.0"/>
-        <engine name="apple-xcode" version=">=4.6.3"/>
-    </engines>
-</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.cordova.engine/megaBoringVersion
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.cordova.engine/megaBoringVersion b/cordova-lib/spec-plugman/plugins/com.cordova.engine/megaBoringVersion
deleted file mode 100755
index ac1dd69..0000000
--- a/cordova-lib/spec-plugman/plugins/com.cordova.engine/megaBoringVersion
+++ /dev/null
@@ -1 +0,0 @@
-./com.cordova.engine/megaBoringVersion

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.cordova.engine/megaFunVersion
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.cordova.engine/megaFunVersion b/cordova-lib/spec-plugman/plugins/com.cordova.engine/megaFunVersion
deleted file mode 100755
index 926e2d6..0000000
--- a/cordova-lib/spec-plugman/plugins/com.cordova.engine/megaFunVersion
+++ /dev/null
@@ -1 +0,0 @@
-./com.cordova.engine/megaFunVersion

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/com.cordova.engine/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/com.cordova.engine/plugin.xml b/cordova-lib/spec-plugman/plugins/com.cordova.engine/plugin.xml
deleted file mode 100644
index 204d3f3..0000000
--- a/cordova-lib/spec-plugman/plugins/com.cordova.engine/plugin.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
-
--->
-
-<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
-    id="com.cordova.engine"
-    version="1.0.0">
-
-    <name>Engine Choo Choo</name>
-
-    <engines>
-        <engine name="cordova" version=">=2.3.0"/>
-        <engine name="cordova-plugman" version=">=0.10.0" />
-        <engine name="mega-fun-plugin" version=">=1.0.0" scriptSrc="megaFunVersion" platform="*" />
-        <engine name="mega-boring-plugin" version=">=3.0.0" scriptSrc="megaBoringVersion" platform="ios|android" />
-    </engines>
-</plugin>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/fc72293c/cordova-lib/spec-plugman/plugins/dependencies/A/plugin.xml
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/plugins/dependencies/A/plugin.xml b/cordova-lib/spec-plugman/plugins/dependencies/A/plugin.xml
deleted file mode 100644
index daf2c3b..0000000
--- a/cordova-lib/spec-plugman/plugins/dependencies/A/plugin.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    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.
--->
-
-<plugin xmlns="http://cordova.apache.org/ns/plugins/1.0"
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    id="A"
-    version="0.6.0">
-
-    <name>Plugin A</name>
-
-    <dependency id="C" url="C" />
-    <dependency id="D" url="D" />
-
-    <asset src="www/plugin-a.js" target="plugin-a.js" />
-
-    <config-file target="config.xml" parent="/*">
-        <access origin="build.phonegap.com" />
-    </config-file>
-
-    <!-- android -->
-    <platform name="android">
-        <config-file target="res/xml/config.xml" parent="plugins">
-            <plugin name="A"
-                value="org.test.A.A"/>
-        </config-file>
-
-        <source-file src="src/android/A.java"
-                target-dir="src/com/phonegap/A" />
-    </platform>
-
-        
-    <!-- ios -->
-    <platform name="ios">
-        <!-- CDV 2.5+ -->
-        <config-file target="config.xml" parent="plugins">
-            <plugin name="A"
-                value="APluginCommand"/>
-        </config-file>
-
-        <header-file src="src/ios/APluginCommand.h" />
-        <source-file src="src/ios/APluginCommand.m"/>
-    </platform>
-</plugin>


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