Skip to content

Instantly share code, notes, and snippets.

@hano
Created February 5, 2014 20:54
Show Gist options
  • Save hano/8832843 to your computer and use it in GitHub Desktop.
Save hano/8832843 to your computer and use it in GitHub Desktop.
Cordova CLI via node
// npm install cordova
var cordova = require('./node_modules/cordova/cordova');
var exec = require('child_process').exec;
// create application
function create( applicationName, callback ) {
cordova.create(applicationName, function(){
// TODO
var cp = ('cp ' + process.cwd() + '/' + applicationName + '/config.xml ' + process.cwd() + '/' + applicationName + '/www/config.xml');
exec(cp);
callback();
});
}
// add a platform
function platformAdd( platform, applicationName, callback ) {
// cache env.PWD
var _env_pwd = process.env.PWD;
// overwrite env.PWD with the generated app name folder
// cordova looks inside this folder to check if it is a cordova project
process.env.PWD = process.cwd() + '/' + applicationName + '/';
// add the platform to the given app
cordova.platform('add', platform, callback);
// set env.PWD back to default
process.env.PWD = _env_pwd;
}
// add a platform
function build( applicationName, callback) {
// cache env.PWD
var _env_pwd = process.env.PWD;
// overwrite env.PWD with the generated app name folder
// cordova looks inside this folder to check if it is a cordova project
process.env.PWD = process.cwd() + '/' + applicationName + '/';
// add the platform to the given app
cordova.build(callback);
// set env.PWD back to default
process.env.PWD = _env_pwd;
}
var applicationName = 'test';
create(applicationName, function(){
platformAdd('android', applicationName, function(){
build(applicationName, function(){
console.log('APK: ' + process.cwd() + '/' + '/platforms/android/bin/HelloCordova-debug.apk');
})
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment