You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by be...@apache.org on 2013/06/04 02:20:22 UTC
git commit: consolidated paltform-specific references to platforms.js
Updated Branches:
refs/heads/platform-reorg [created] 4e3bef047
consolidated paltform-specific references to platforms.js
Project: http://git-wip-us.apache.org/repos/asf/cordova-cli/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-cli/commit/4e3bef04
Tree: http://git-wip-us.apache.org/repos/asf/cordova-cli/tree/4e3bef04
Diff: http://git-wip-us.apache.org/repos/asf/cordova-cli/diff/4e3bef04
Branch: refs/heads/platform-reorg
Commit: 4e3bef0473dc6029af2e28d6f916760533c17d4f
Parents: f77fe9b
Author: Benn Mapes <be...@gmail.com>
Authored: Mon Jun 3 16:58:58 2013 -0700
Committer: Benn Mapes <be...@gmail.com>
Committed: Mon Jun 3 17:18:55 2013 -0700
----------------------------------------------------------------------
bootstrap.js | 17 +++++---------
package.json | 2 +-
platforms.js | 23 +++++++++++++++++++-
spec/cordova-cli/platform.spec.js | 18 ++++++++--------
src/compile.js | 20 ++++++++--------
src/emulate.js | 36 ++++++++++---------------------
src/platform.js | 27 +++++++++--------------
src/plugin.js | 21 ++++++------------
src/plugin_parser.js | 1 -
src/prepare.js | 36 ++++++++++---------------------
src/serve.js | 17 ++++----------
src/util.js | 4 +-
test_runner.js | 7 ++++-
13 files changed, 102 insertions(+), 127 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/bootstrap.js
----------------------------------------------------------------------
diff --git a/bootstrap.js b/bootstrap.js
index 4750571..c222b9c 100644
--- a/bootstrap.js
+++ b/bootstrap.js
@@ -22,11 +22,6 @@
var util = require('./src/util'),
create = require('./src/create'),
- a_parser = require('./src/metadata/android_parser'),
- b_parser = require('./src/metadata/blackberry_parser'),
- i_parser = require('./src/metadata/ios_parser'),
- wp7_parser= require('./src/metadata/wp7_parser'),
- wp8_parser= require('./src/metadata/wp8_parser'),
n = require('ncallbacks'),
path = require('path'),
fs = require('fs'),
@@ -35,11 +30,11 @@ var util = require('./src/util'),
// Library requirements checkers
var min_reqs = {
- "android":a_parser.check_requirements,
- "ios":i_parser.check_requirements,
- "blackberry":b_parser.check_requirements,
- "wp7":wp7_parser.check_requirements,
- "wp8":wp7_parser.check_requirements
+ "android":platforms['android'].parser.check_requirements,
+ "ios":platforms['ios'].parser.check_requirements,
+ /*"blackberry":platforms['blackberry'].parser.check_requirements,*/
+ "wp7":platforms['wp7'].parser.check_requirements,
+ "wp8":platforms['wp8'].parser.check_requirements
}
// Create native projects using bin/create
@@ -69,7 +64,7 @@ var end = n(platforms.length, function() {
}
});
-platforms.forEach(function(platform) {
+Object.keys(platforms).forEach(function(platform) {
min_reqs[platform](function(err) {
if (err) {
console.error('WARNING: Your system does not meet requirements to create ' + platform + ' projects. See error output below.');
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index e2ea2ff..8a14472 100644
--- a/package.json
+++ b/package.json
@@ -36,7 +36,7 @@
"open": "0.0.3"
},
"devDependencies": {
- "jasmine-node":"1.3.x"
+ "jasmine-node":"1.8.x"
},
"author": "Anis Kadri",
"contributors": [
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/platforms.js
----------------------------------------------------------------------
diff --git a/platforms.js b/platforms.js
index c49c797..b2f7b0b 100644
--- a/platforms.js
+++ b/platforms.js
@@ -17,4 +17,25 @@
under the License.
*/
-module.exports = ['ios', 'android', /*'blackberry',*/ 'wp7', 'wp8'];
+module.exports = {
+ 'ios' : {
+ parser : require('./src/metadata/ios_parser'),
+ url : 'https://git-wip-us.apache.org/repos/asf/cordova-ios.git'
+ },
+ 'android' : {
+ parser : require('./src/metadata/android_parser'),
+ url : 'https://git-wip-us.apache.org/repos/asf/cordova-ios.git'
+ },
+ 'wp7' : {
+ parser : require('./src/metadata/wp7_parser'),
+ url : 'https://git-wip-us.apache.org/repos/asf/cordova-wp7.git'
+ },
+ 'wp8' : {
+ parser : require('./src/metadata/wp8_parser'),
+ url : 'https://git-wip-us.apache.org/repos/asf/cordova-wp8.git'
+ }/*,
+ blackberry : {
+ parser : require('./metadata/blackberry_parser'),
+ url : 'https://git-wip-us.apache.org/repos/asf/cordova-blackberry.git'
+ }*/
+};
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/spec/cordova-cli/platform.spec.js
----------------------------------------------------------------------
diff --git a/spec/cordova-cli/platform.spec.js b/spec/cordova-cli/platform.spec.js
index 5aab03d..2aa0177 100644
--- a/spec/cordova-cli/platform.spec.js
+++ b/spec/cordova-cli/platform.spec.js
@@ -27,6 +27,7 @@ var cordova = require('../../cordova'),
util = require('../../src/util'),
hooker = require('../../src/hooker'),
platforms = require('../../platforms'),
+ platform = require('../../src/platform'),
tempDir = path.join(__dirname, '..', '..', 'temp');
android_parser = require('../../src/metadata/android_parser'),
ios_parser = require('../../src/metadata/ios_parser'),
@@ -104,16 +105,15 @@ describe('platform command', function() {
});
it('should handle multiple platforms', function() {
- var arc = spyOn(android_parser, 'check_requirements');
- var brc = spyOn(blackberry_parser, 'check_requirements');
+ spyOn(platform, 'supports').andCallFake(function(target, callback) {
+ callback(null);
+ });
var sh = spyOn(shell, 'exec');
- cordova.platform('add', ['android', 'blackberry']);
- arc.mostRecentCall.args[0](false);
- brc.mostRecentCall.args[0](false);
- var android_create = path.join('android', 'bin', 'create');
- var bb_create = path.join('blackberry', 'bin', 'create');
- expect(sh.argsForCall[0][0]).toContain(android_create);
- expect(sh.argsForCall[1][0]).toContain(bb_create);
+ cordova.platform('add', ['foo', 'bar']);
+ var foo_create = path.join('foo', 'bin', 'create');
+ var bar_create = path.join('bar', 'bin', 'create');
+ expect(sh.argsForCall[0][0]).toContain(foo_create);
+ expect(sh.argsForCall[1][0]).toContain(bar_create);
});
});
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/src/compile.js
----------------------------------------------------------------------
diff --git a/src/compile.js b/src/compile.js
index 2521811..4cf3b85 100644
--- a/src/compile.js
+++ b/src/compile.js
@@ -45,7 +45,7 @@ function shell_out_to_debug(projectRoot, platform, callback) {
}
-module.exports = function compile(platforms, callback) {
+module.exports = function compile(platformList, callback) {
var projectRoot = cordova_util.isCordova(process.cwd());
if (!projectRoot) {
@@ -55,22 +55,22 @@ module.exports = function compile(platforms, callback) {
var xml = cordova_util.projectConfig(projectRoot);
var cfg = new config_parser(xml);
- if (arguments.length === 0 || (platforms instanceof Array && platforms.length === 0)) {
- platforms = cordova_util.listPlatforms(projectRoot);
- } else if (typeof platforms == 'string') platforms = [platforms];
- else if (platforms instanceof Function && callback === undefined) {
- callback = platforms;
- platforms = cordova_util.listPlatforms(projectRoot);
+ if (arguments.length === 0 || (platformList instanceof Array && platformList.length === 0)) {
+ platformList = cordova_util.listPlatforms(projectRoot);
+ } else if (typeof platformList == 'string') platformList = [platformList];
+ else if (platformList instanceof Function && callback === undefined) {
+ callback = platformList;
+ platformList = cordova_util.listPlatforms(projectRoot);
}
- if (platforms.length === 0) throw new Error('No platforms added to this project. Please use `cordova platform add <platform>`.');
+ if (platformList.length === 0) throw new Error('No platforms added to this project. Please use `cordova platform add <platform>`.');
var hooks = new hooker(projectRoot);
if (!(hooks.fire('before_compile'))) {
throw new Error('before_compile hooks exited with non-zero code. Aborting.');
}
- var end = n(platforms.length, function() {
+ var end = n(platformList.length, function() {
if (!(hooks.fire('after_compile'))) {
throw new Error('after_compile hooks exited with non-zero code. Aborting.');
}
@@ -78,7 +78,7 @@ module.exports = function compile(platforms, callback) {
});
// Iterate over each added platform
- platforms.forEach(function(platform) {
+ platformList.forEach(function(platform) {
shell_out_to_debug(projectRoot, platform, end);
});
};
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/src/emulate.js
----------------------------------------------------------------------
diff --git a/src/emulate.js b/src/emulate.js
index ffa1319..4e5451a 100644
--- a/src/emulate.js
+++ b/src/emulate.js
@@ -20,11 +20,7 @@ var cordova_util = require('./util'),
path = require('path'),
shell = require('shelljs'),
config_parser = require('./config_parser'),
- android_parser = require('./metadata/android_parser'),
- ios_parser = require('./metadata/ios_parser'),
- blackberry_parser = require('./metadata/blackberry_parser'),
- wp7_parser = require('./metadata/wp7_parser'),
- wp8_parser = require('./metadata/wp8_parser'),
+ platforms = require('../platforms'),
platform = require('./platform'),
fs = require('fs'),
ls = fs.readdirSync,
@@ -32,14 +28,6 @@ var cordova_util = require('./util'),
hooker = require('../src/hooker'),
util = require('util');
-var parsers = {
- "android":android_parser,
- "ios":ios_parser,
- "blackberry":blackberry_parser,
- "wp7":wp7_parser,
- "wp8":wp8_parser
-};
-
function shell_out_to_emulate(root, platform, callback) {
var cmd = '"' + path.join(root, 'platforms', platform, 'cordova', 'run') + '"';
// TODO: PLATFORM LIBRARY INCONSISTENCY
@@ -55,7 +43,7 @@ function shell_out_to_emulate(root, platform, callback) {
});
}
-module.exports = function emulate (platforms, callback) {
+module.exports = function emulate (platformList, callback) {
var projectRoot = cordova_util.isCordova(process.cwd());
if (!projectRoot) {
@@ -65,22 +53,22 @@ module.exports = function emulate (platforms, callback) {
var xml = cordova_util.projectConfig(projectRoot);
var cfg = new config_parser(xml);
- if (arguments.length === 0 || (platforms instanceof Array && platforms.length === 0)) {
- platforms = cordova_util.listPlatforms(projectRoot);
- } else if (typeof platforms == 'string') platforms = [platforms];
- else if (platforms instanceof Function && callback === undefined) {
- callback = platforms;
- platforms = cordova_util.listPlatforms(projectRoot);
+ if (arguments.length === 0 || (platformList instanceof Array && platformList.length === 0)) {
+ platformList = cordova_util.listPlatforms(projectRoot);
+ } else if (typeof platformList == 'string') platformList = [platformList];
+ else if (platformList instanceof Function && callback === undefined) {
+ callback = platformList;
+ platformList = cordova_util.listPlatforms(projectRoot);
}
- if (platforms.length === 0) throw new Error('No platforms added to this project. Please use `cordova platform add <platform>`.');
+ if (platformList.length === 0) throw new Error('No platforms added to this project. Please use `cordova platform add <platform>`.');
var hooks = new hooker(projectRoot);
if (!(hooks.fire('before_emulate'))) {
throw new Error('before_emulate hooks exited with non-zero code. Aborting build.');
}
- var end = n(platforms.length, function() {
+ var end = n(platformList.length, function() {
if (!(hooks.fire('after_emulate'))) {
throw new Error('after_emulate hooks exited with non-zero code. Aborting.');
}
@@ -88,9 +76,9 @@ module.exports = function emulate (platforms, callback) {
});
// Iterate over each added platform and shell out to debug command
- platforms.forEach(function(platform) {
+ platformList.forEach(function(platform) {
var platformPath = path.join(projectRoot, 'platforms', platform);
- var parser = new parsers[platform](platformPath);
+ var parser = new platforms[platform].parser(platformPath);
parser.update_project(cfg, function() {
shell_out_to_emulate(projectRoot, platform, end);
});
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/src/platform.js
----------------------------------------------------------------------
diff --git a/src/platform.js b/src/platform.js
index 5670f1b..38032bc 100644
--- a/src/platform.js
+++ b/src/platform.js
@@ -23,22 +23,10 @@ var config_parser = require('./config_parser'),
path = require('path'),
hooker = require('./hooker'),
n = require('ncallbacks'),
- android_parser = require('./metadata/android_parser'),
- ios_parser = require('./metadata/ios_parser'),
- blackberry_parser = require('./metadata/blackberry_parser'),
- wp7_parser = require('./metadata/wp7_parser'),
- wp8_parser = require('./metadata/wp8_parser'),
+ platforms = require('../platforms'),
plugman = require('plugman'),
shell = require('shelljs');
-var parsers = {
- "android":android_parser,
- "ios":ios_parser,
- "blackberry":blackberry_parser,
- "wp7":wp7_parser,
- "wp8":wp8_parser
-};
-
module.exports = function platform(command, targets, callback) {
var projectRoot = cordova_util.isCordova(process.cwd());
@@ -103,7 +91,7 @@ module.exports = function platform(command, targets, callback) {
throw new Error('An error occured during creation of ' + target + ' sub-project. ' + create_output);
}
- var parser = new parsers[target](output);
+ var parser = new platforms[target].parser(output);
parser.update_project(cfg, function() {
createOverrides(target);
hooks.fire('after_platform_add');
@@ -154,10 +142,17 @@ module.exports.supports = function(name, callback) {
if (!name) throw new Error('requires a platform name parameter');
if (!callback) throw new Error('requires a callback parameter');
+ // check if platform exists
+ var platform = platforms[name];
+ if (!platform) {
+ callback(new Error(util.format('"%s" platform does not exist', name)));
+ return;
+ }
+
// look up platform meta-data parser
- var platformParser = parsers[name];
+ var platformParser = platforms[name].parser;
if (!platformParser) {
- callback(new Error(util.format('"%s" platform does not exist', name)));
+ callback(new Error(util.format('"%s" platform parser does not exist', name)));
return;
}
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/src/plugin.js
----------------------------------------------------------------------
diff --git a/src/plugin.js b/src/plugin.js
index d5371cf..6045840 100644
--- a/src/plugin.js
+++ b/src/plugin.js
@@ -22,20 +22,13 @@ var cordova_util = require('./util'),
shell = require('shelljs'),
path = require('path'),
shell = require('shelljs'),
+ platforms = require('../platforms'),
config_parser = require('./config_parser'),
hooker = require('./hooker'),
plugin_parser = require('./plugin_parser'),
ls = fs.readdirSync,
plugman = require('plugman');
-var parsers = {
- "android": require('./metadata/android_parser'),
- "ios": require('./metadata/ios_parser'),
- "wp7": require('./metadata/wp7_parser'),
- "wp8": require('./metadata/wp8_parser'),
- "blackberry": require('./metadata/blackberry_parser')
-};
-
module.exports = function plugin(command, targets, callback) {
var projectRoot = cordova_util.isCordova(process.cwd());
@@ -49,7 +42,7 @@ module.exports = function plugin(command, targets, callback) {
// Grab config info for the project
var xml = cordova_util.projectConfig(projectRoot);
var cfg = new config_parser(xml);
- var platforms = cordova_util.listPlatforms(projectRoot);
+ var platformList = cordova_util.listPlatforms(projectRoot);
// Massage plugin name(s) / path(s)
var pluginPath, plugins;
@@ -85,9 +78,9 @@ module.exports = function plugin(command, targets, callback) {
}
// Iterate over all platforms in the project and install the plugin.
- platforms.forEach(function(platform) {
+ platformList.forEach(function(platform) {
var platformRoot = path.join(projectRoot, 'platforms', platform);
- var parser = new parsers[platform](platformRoot);
+ var parser = new platforms[platform].parser(platformRoot);
// TODO: unify use of blackberry in cli vs blackberry10 in plugman
plugman.install((platform=='blackberry'?'blackberry10':platform), platformRoot,
path.basename(dir), pluginsDir, { www_dir: parser.staging_dir() });
@@ -100,7 +93,7 @@ module.exports = function plugin(command, targets, callback) {
break;
case 'rm':
case 'remove':
- if (platforms.length === 0) {
+ if (platformList.length === 0) {
throw new Error('You need at least one platform added to your app. Use `cordova platform add <platform>`.');
}
targets.forEach(function(target, index) {
@@ -112,7 +105,7 @@ module.exports = function plugin(command, targets, callback) {
// supported platforms and app platforms
var pluginXml = new plugin_parser(path.join(targetPath, 'plugin.xml'));
var intersection = pluginXml.platforms.filter(function(e) {
- if (platforms.indexOf(e) == -1) return false;
+ if (platformList.indexOf(e) == -1) return false;
else return true;
});
@@ -122,7 +115,7 @@ module.exports = function plugin(command, targets, callback) {
// is not needed and we just --remove the plugin below.
intersection.forEach(function(platform) {
var platformRoot = path.join(projectRoot, 'platforms', platform);
- var parser = new parsers[platform](platformRoot);
+ var parser = new platforms[platform].parser(platformRoot);
plugman.uninstall(platform, platformRoot, target, path.join(projectRoot, 'plugins'), { www_dir: parser.staging_dir() });
});
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/src/plugin_parser.js
----------------------------------------------------------------------
diff --git a/src/plugin_parser.js b/src/plugin_parser.js
index d104c9e..3b1c24b 100644
--- a/src/plugin_parser.js
+++ b/src/plugin_parser.js
@@ -18,7 +18,6 @@
under the License.
*/
var et = require('elementtree'),
- platforms = require('./../platforms'),
fs = require('fs');
function plugin_parser(xmlPath) {
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/src/prepare.js
----------------------------------------------------------------------
diff --git a/src/prepare.js b/src/prepare.js
index b5c66ee..b08827e 100644
--- a/src/prepare.js
+++ b/src/prepare.js
@@ -19,30 +19,18 @@
var cordova_util = require('./util'),
path = require('path'),
config_parser = require('./config_parser'),
+ platforms = require('../platforms'),
platform = require('./platform'),
fs = require('fs'),
shell = require('shelljs'),
et = require('elementtree'),
- android_parser = require('./metadata/android_parser'),
- blackberry_parser = require('./metadata/blackberry_parser'),
- ios_parser = require('./metadata/ios_parser'),
- wp7_parser = require('./metadata/wp7_parser'),
- wp8_parser = require('./metadata/wp8_parser'),
hooker = require('./hooker'),
n = require('ncallbacks'),
prompt = require('prompt'),
plugman = require('plugman'),
util = require('util');
-var parsers = {
- "android":android_parser,
- "ios":ios_parser,
- "blackberry":blackberry_parser,
- "wp7":wp7_parser,
- "wp8":wp8_parser
-};
-
-module.exports = function prepare(platforms, callback) {
+module.exports = function prepare(platformList, callback) {
var projectRoot = cordova_util.isCordova(process.cwd());
if (!projectRoot) {
@@ -52,22 +40,22 @@ module.exports = function prepare(platforms, callback) {
var xml = cordova_util.projectConfig(projectRoot);
var cfg = new config_parser(xml);
- if (arguments.length === 0 || (platforms instanceof Array && platforms.length === 0)) {
- platforms = cordova_util.listPlatforms(projectRoot);
- } else if (typeof platforms == 'string') platforms = [platforms];
- else if (platforms instanceof Function && callback === undefined) {
- callback = platforms;
- platforms = cordova_util.listPlatforms(projectRoot);
+ if (arguments.length === 0 || (platformList instanceof Array && platformList.length === 0)) {
+ platformList = cordova_util.listPlatforms(projectRoot);
+ } else if (typeof platformList == 'string') platformList = [platformList];
+ else if (platformList instanceof Function && callback === undefined) {
+ callback = platformList;
+ platformList = cordova_util.listPlatforms(projectRoot);
}
- if (platforms.length === 0) throw new Error('No platforms added to this project. Please use `cordova platform add <platform>`.');
+ if (platformList.length === 0) throw new Error('No platforms added to this project. Please use `cordova platform add <platform>`.');
var hooks = new hooker(projectRoot);
if (!(hooks.fire('before_prepare'))) {
throw new Error('before_prepare hooks exited with non-zero code. Aborting.');
}
- var end = n(platforms.length, function() {
+ var end = n(platformList.length, function() {
if (!(hooks.fire('after_prepare'))) {
throw new Error('after_prepare hooks exited with non-zero code. Aborting.');
}
@@ -75,9 +63,9 @@ module.exports = function prepare(platforms, callback) {
});
// Iterate over each added platform
- platforms.forEach(function(platform) {
+ platformList.forEach(function(platform) {
var platformPath = path.join(projectRoot, 'platforms', platform);
- var parser = new parsers[platform](platformPath);
+ var parser = new platforms[platform].parser(platformPath);
parser.update_project(cfg, function() {
// Call plugman --prepare for this platform. sets up js-modules appropriately.
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/src/serve.js
----------------------------------------------------------------------
diff --git a/src/serve.js b/src/serve.js
index e7eb42b..b5036de 100644
--- a/src/serve.js
+++ b/src/serve.js
@@ -20,20 +20,13 @@
var cordova_util = require('./util'),
path = require('path'),
shell = require('shelljs'),
+ platforms = require('../platforms'),
config_parser = require('./config_parser'),
fs = require('fs'),
util = require('util'),
http = require("http"),
url = require("url");
-var parsers = {
- 'android': require('./metadata/android_parser'),
- 'ios': require('./metadata/ios_parser'),
- 'blackberry': require('./metadata/blackberry_parser'),
- 'wp7': require('./metadata/wp7_parser'),
- 'wp8': require('./metadata/wp8_parser')
-};
-
function launch_server(www, platform_www, config_xml_path, port) {
port = port || 8000;
@@ -107,12 +100,12 @@ module.exports.config = function (platform, port, callback) {
var cfg = new config_parser(xml);
// Retrieve the platforms.
- var platforms = cordova_util.listPlatforms(projectRoot);
+ var platformList = cordova_util.listPlatforms(projectRoot);
if (!platform) {
throw new Error('You need to specify a platform.');
- } else if (platforms.length == 0) {
+ } else if (platformList.length == 0) {
throw new Error('No platforms to serve.');
- } else if (platforms.filter(function(x) { return x == platform }).length == 0) {
+ } else if (platformList.filter(function(x) { return x == platform }).length == 0) {
throw new Error(platform + ' is not an installed platform.');
}
@@ -129,7 +122,7 @@ module.exports.config = function (platform, port, callback) {
// Top-level www directory.
result.paths.push(cordova_util.projectWww(projectRoot));
- var parser = parsers[platform](path.join(projectRoot, 'platforms', platform));
+ var parser = platforms[platform].parser(path.join(projectRoot, 'platforms', platform));
// Update the related platform project from the config
parser.update_project(cfg, function() {
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/src/util.js
----------------------------------------------------------------------
diff --git a/src/util.js b/src/util.js
index 9b725a4..1ec7813 100644
--- a/src/util.js
+++ b/src/util.js
@@ -19,7 +19,6 @@
*/
var fs = require('fs'),
path = require('path'),
- core_platforms = require('../platforms'),
shell = require('shelljs');
var lib_path = path.join(__dirname, '..', 'lib')
@@ -59,8 +58,9 @@ module.exports = {
});
},
listPlatforms:function(project_dir) {
+ var core_platforms = require('../platforms');
return fs.readdirSync(path.join(project_dir, 'platforms')).filter(function(p) {
- return core_platforms.indexOf(p) > -1;
+ return Object.keys(core_platforms).indexOf(p) > -1;
});
},
// list the directories in the path, ignoring any files
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/4e3bef04/test_runner.js
----------------------------------------------------------------------
diff --git a/test_runner.js b/test_runner.js
index 1174b37..0250aa3 100644
--- a/test_runner.js
+++ b/test_runner.js
@@ -14,7 +14,7 @@ shell.rm('-rf', tmp);
shell.mkdir('-p', path.join(tmp, 'platform-script'));
shell.cp('-r', path.join(__dirname, 'spec', 'fixtures'), tmp);
-var end = n(platforms.length, function() {
+var end = n(Object.keys(platforms).length, function() {
console.log('Testing core cli and the following platforms: ' + supported.join(', '));
var cmd = 'node ' + path.join('node_modules', 'jasmine-node', 'bin', 'jasmine-node') + ' --color ' + tmp;
specs.forEach(function(s) {
@@ -23,10 +23,13 @@ var end = n(platforms.length, function() {
});
shell.cp('-r', path.join(__dirname, 'spec', 'cordova-cli'), tmp);
shell.exec(cmd, {async:true, silent:false}, function(code, output) {
+ if(code > 0) {
+ console.log(output);
+ }
});
});
console.log('Determining which platforms to run tests for...');
-platforms.forEach(function(p) {
+Object.keys(platforms).forEach(function(p) {
platform.supports(p, function(e) {
if (e) {
} else {