tarifa
Version:
Your friendly toolchain for mobile app development on top of Apache Cordova
47 lines (42 loc) • 1.49 kB
JavaScript
var Q = require('q'),
path = require('path'),
exec = require('child_process').exec,
platforms = require('cordova-lib/src/platforms/platforms'),
platformHelper = require('../helper/platform');
function getPlatformVersion(root) {
return function (platform) {
platform = platformHelper.getName(platform);
var cmd = path.resolve(root, 'platforms', platform, 'cordova', 'version'),
defer = Q.defer(),
options = {
timeout: 0,
maxBuffer: 1024 * 500
};
exec('"' + cmd + '"', options, function (err, stdout) {
if(err) {
defer.reject(cmd + ' ' + err);
return;
}
var rslt = {
version: stdout.toString().replace(/\n/g, '').trim(),
name: platform
};
defer.resolve(rslt);
});
return defer.promise;
};
}
function getCordovaPlatformsVersion(root, somePlatforms) {
return Q.all(somePlatforms.map(getPlatformVersion(root)));
}
function getAvailablePlatformsVersion(ps){
return Q.resolve(ps.map(function (platform) {
return {
name: platform,
version: platforms[platform].version
};
}));
}
module.exports.getCordovaPlatformsVersion = getCordovaPlatformsVersion;
module.exports.getAvailablePlatformsVersion = getAvailablePlatformsVersion;
module.exports.getPlatformVersion = getPlatformVersion;