You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bh...@apache.org on 2013/07/24 22:59:10 UTC
git commit: [CB-4372] Fixed "Plugman fails when fetching local
plugins with space in path"
Updated Branches:
refs/heads/master bdf4d061b -> 2a8b9add0
[CB-4372] Fixed "Plugman fails when fetching local plugins with space in path"
Project: http://git-wip-us.apache.org/repos/asf/cordova-plugman/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugman/commit/2a8b9add
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugman/tree/2a8b9add
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugman/diff/2a8b9add
Branch: refs/heads/master
Commit: 2a8b9add0f7fb2d98a172cba404203772e65d951
Parents: bdf4d06
Author: jkeshavarzi <jk...@blackberry.com>
Authored: Wed Jul 24 16:04:50 2013 -0400
Committer: Bryan Higgins <bh...@blackberry.com>
Committed: Wed Jul 24 16:59:44 2013 -0400
----------------------------------------------------------------------
spec/fetch.spec.js | 5 +++++
src/fetch.js | 4 +++-
2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/2a8b9add/spec/fetch.spec.js
----------------------------------------------------------------------
diff --git a/spec/fetch.spec.js b/spec/fetch.spec.js
index 1fc1aaf..4151020 100644
--- a/spec/fetch.spec.js
+++ b/spec/fetch.spec.js
@@ -7,6 +7,7 @@ var fetch = require('../src/fetch'),
metadata = require('../src/util/metadata'),
temp = path.join(os.tmpdir(), 'plugman'),
test_plugin = path.join(__dirname, 'plugins', 'ChildBrowser'),
+ test_plugin_with_space = path.join(__dirname, 'folder with space', 'plugins', 'ChildBrowser'),
plugins = require('../src/util/plugins');
describe('fetch', function() {
@@ -26,6 +27,10 @@ describe('fetch', function() {
fetch(test_plugin, temp);
expect(cp).toHaveBeenCalledWith('-R', path.join(test_plugin, '*'), path.join(temp, 'id'));
});
+ it('should copy locally-available plugin to plugins directory when spaces in path', function() {
+ fetch(test_plugin_with_space, temp);
+ expect(cp).toHaveBeenCalledWith('-R', path.join(test_plugin_with_space, '*'), path.join(temp, 'id'));
+ });
it('should create a symlink if used with `link` param', function() {
fetch(test_plugin, temp, { link: true });
expect(sym).toHaveBeenCalledWith(test_plugin, path.join(temp, 'id'), 'dir');
http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/2a8b9add/src/fetch.js
----------------------------------------------------------------------
diff --git a/src/fetch.js b/src/fetch.js
index 28d9994..e2b3d71 100644
--- a/src/fetch.js
+++ b/src/fetch.js
@@ -46,7 +46,9 @@ module.exports = function fetchPlugin(plugin_dir, plugins_dir, options, callback
// Copy from the local filesystem.
// First, read the plugin.xml and grab the ID.
- plugin_dir = path.join(uri.href, options.subdir);
+ // NOTE: Can't use uri.href here as it will convert spaces to %20 and make path invalid.
+ // Use original plugin_dir value instead.
+ plugin_dir = path.join(plugin_dir, options.subdir);
var plugin_xml_path = path.join(plugin_dir, 'plugin.xml');
require('../plugman').emit('log', 'Fetch is reading plugin.xml from location "' + plugin_xml_path + '"...');
var xml = xml_helpers.parseElementtreeSync(plugin_xml_path);