forked from github/cordova-android
CB-4872 - moved version script to promise model
This commit is contained in:
parent
82898da507
commit
28c41294bb
@ -21,5 +21,9 @@
|
|||||||
|
|
||||||
var android_sdk_version = require('./lib/android_sdk_version');
|
var android_sdk_version = require('./lib/android_sdk_version');
|
||||||
|
|
||||||
android_sdk_version.run();
|
android_sdk_version.run().done(null, function(err) {
|
||||||
|
console.log(err);
|
||||||
|
process.exit(2);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,7 +19,9 @@
|
|||||||
under the License.
|
under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var shell = require('shelljs');
|
var shell = require('shelljs'),
|
||||||
|
child_process = require('child_process'),
|
||||||
|
Q = require('q');
|
||||||
|
|
||||||
get_highest_sdk = function(results){
|
get_highest_sdk = function(results){
|
||||||
var reg = /\d+/;
|
var reg = /\d+/;
|
||||||
@ -32,22 +34,32 @@ get_highest_sdk = function(results){
|
|||||||
}
|
}
|
||||||
|
|
||||||
get_sdks = function() {
|
get_sdks = function() {
|
||||||
var targets = shell.exec('android list targets', {silent:true, async:false});
|
var d = Q.defer();
|
||||||
|
child_process.exec('android list targets', function(err, stdout, stderr) {
|
||||||
|
if (err) d.reject(stderr);
|
||||||
|
else d.resolve(stdout);
|
||||||
|
});
|
||||||
|
|
||||||
if(targets.code > 0 && targets.output.match(/command\snot\sfound/)) {
|
return d.promise.then(function(output) {
|
||||||
return new Error('The command \"android\" failed. Make sure you have the latest Android SDK installed, and the \"android\" command (inside the tools/ folder) is added to your path.');
|
|
||||||
} else {
|
|
||||||
var reg = /android-\d+/gi;
|
var reg = /android-\d+/gi;
|
||||||
var results = targets.output.match(reg);
|
var results = output.match(reg);
|
||||||
if(results.length===0){
|
if(results.length===0){
|
||||||
return new Error('No android sdks installed.');
|
return Q.reject(new Error('No android sdks installed.'));
|
||||||
}else{
|
}else{
|
||||||
get_highest_sdk(results);
|
get_highest_sdk(results);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
return Q();
|
||||||
|
}, function(stderr) {
|
||||||
|
if (stderr.match(/command\snot\sfound/)) {
|
||||||
|
return Q.reject(new Error('The command \"android\" failed. Make sure you have the latest Android SDK installed, and the \"android\" command (inside the tools/ folder) is added to your path.'));
|
||||||
|
} else {
|
||||||
|
return Q.reject(new Error('An error occurred while listing Android targets'));
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports.run = function() {
|
module.exports.run = function() {
|
||||||
get_sdks();
|
return Q.all([get_sdks()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user