mirror of
https://github.com/apache/cordova-android.git
synced 2025-02-20 23:56:20 +08:00
[CB-3542] Only update framework/ project when building the jar.
No need to do it during every check_reqs. This also extracts the jar building into a helper function.
This commit is contained in:
parent
70cc711ec1
commit
dd3c261ba2
@ -69,17 +69,10 @@ module.exports.check_android = function() {
|
||||
} else if(!targets.output.match(valid_target)) {
|
||||
console.error('Please install Android target ' + valid_target.split('-')[1] + ' (the Android newest SDK). Make sure you have the latest Android tools installed as well. Run \"android\" from your command-line to install/update any missing SDKs or tools.');
|
||||
return false;
|
||||
} else {
|
||||
var cmd = 'android update project -p ' + ROOT + ' -t ' + valid_target + ' 1> /dev/null 2>&1';
|
||||
var result = shell.exec(cmd, {silent:false, async:true});
|
||||
if(result.code > 0) {
|
||||
console.error('Error updating the Cordova library to work with your Android environment.');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
module.exports.run = function() {
|
||||
return this.check_ant() && this.check_java && this.check_android();
|
||||
}
|
||||
}
|
||||
|
@ -47,6 +47,20 @@ function exec(command) {
|
||||
}
|
||||
}
|
||||
|
||||
function ensureJarIsBuilt(version, target_api) {
|
||||
if (!fs.existsSync(path.join(ROOT, 'framework', 'cordova-' + version + '.jar')) && fs.existsSync(path.join(ROOT, 'framework'))) {
|
||||
var valid_target = check_reqs.get_target();
|
||||
console.log('Building jar');
|
||||
// update the cordova-android framework for the desired target
|
||||
exec('android --silent update lib-project --target "' + target_api + '" --path "' + path.join(ROOT, 'framework') + '"');
|
||||
// compile cordova.js and cordova.jar
|
||||
var cwd = process.cwd();
|
||||
process.chdir(path.join(ROOT, 'framework'));
|
||||
exec('ant jar');
|
||||
process.chdir(cwd);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* $ create [options]
|
||||
*
|
||||
@ -104,17 +118,7 @@ module.exports.run = function(project_path, package_name, project_name, project_
|
||||
console.log('\tAndroid target : ' + target_api);
|
||||
|
||||
// build from source. distro should have these files
|
||||
if(!fs.existsSync(path.join(ROOT, 'framework', 'cordova-' + VERSION + '.jar')) && fs.existsSync(path.join(ROOT, 'framework'))) {
|
||||
console.log('Building jar and js files...');
|
||||
// update the cordova-android framework for the desired target
|
||||
exec('android update project --target ' + target_api + ' --path ' + path.join(ROOT, 'framework'));
|
||||
|
||||
// compile cordova.js and cordova.jar
|
||||
var cwd = process.cwd();
|
||||
process.chdir(path.join(ROOT, 'framework'));
|
||||
exec('ant jar');
|
||||
process.chdir(cwd);
|
||||
}
|
||||
ensureJarIsBuilt(VERSION, target_api);
|
||||
|
||||
// create new android project
|
||||
var create_cmd = 'android create project --target "'+target_api+'" --path "'+path.relative(process.cwd(), project_path)+'" --package "'+package_name+'" --activity "'+safe_activity_name+'"';
|
||||
|
Loading…
Reference in New Issue
Block a user