Updated Branches: refs/heads/master 479d339d2 -> f276c21dc
Fix use for path.join etc. for web paths as opposed to platform paths. Project: http://git-wip-us.apache.org/repos/asf/cordova-plugman/repo Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugman/commit/f276c21d Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugman/tree/f276c21d Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugman/diff/f276c21d Branch: refs/heads/master Commit: f276c21dc1e550316d9728361c2202c5a3338610 Parents: 479d339 Author: Braden Shepherdson <[email protected]> Authored: Tue Sep 3 14:41:46 2013 -0400 Committer: Braden Shepherdson <[email protected]> Committed: Tue Sep 3 14:41:46 2013 -0400 ---------------------------------------------------------------------- src/prepare.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/f276c21d/src/prepare.js ---------------------------------------------------------------------- diff --git a/src/prepare.js b/src/prepare.js index aed3f48..7ccb3d0 100644 --- a/src/prepare.js +++ b/src/prepare.js @@ -140,10 +140,13 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir) { allModules.forEach(function(module) { // Copy the plugin's files into the www directory. - var dirname = path.dirname(module.attrib.src); - - var dir = path.join(platformPluginsDir, plugin_id, dirname); - shell.mkdir('-p', dir); + // NB: We can't always use path.* functions here, because they will use platform slashes. + // But the path in the plugin.xml and in the cordova_plugins.js should be always forward slashes. + var pathParts = module.attrib.src.split('/'); + + var fsDirname = path.join.apply(path, pathParts.slice(0, -1)); + var fsDir = path.join(platformPluginsDir, plugin_id, fsDirname); + shell.mkdir('-p', fsDir); // Read in the file, prepend the cordova.define, and write it back out. var moduleName = plugin_id + '.'; @@ -154,16 +157,17 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir) { moduleName += result[1]; } - var scriptContent = fs.readFileSync(path.join(pluginDir, module.attrib.src), 'utf-8'); + var fsPath = path.join.apply(path, pathParts); + var scriptContent = fs.readFileSync(path.join(pluginDir, fsPath), 'utf-8'); scriptContent = 'cordova.define("' + moduleName + '", function(require, exports, module) {' + scriptContent + '});\n'; - fs.writeFileSync(path.join(platformPluginsDir, plugin_id, module.attrib.src), scriptContent, 'utf-8'); + fs.writeFileSync(path.join(platformPluginsDir, plugin_id, fsPath), scriptContent, 'utf-8'); if(platform == 'wp7' || platform == 'wp8' || platform == "windows8") { - wp_csproj.addSourceFile(path.join('www', 'plugins', plugin_id, module.attrib.src)); + wp_csproj.addSourceFile(path.join('www', 'plugins', plugin_id, fsPath)); } // Prepare the object for cordova_plugins.json. var obj = { - file: path.join('plugins', plugin_id, module.attrib.src), + file: ['plugins', plugin_id, module.attrib.src].join('/'), id: moduleName };
