example/app/platforms/android/cordova/lib/build.js
function(opts) {
            // Without our custom_rules.xml, we need to clean before building.
            var ret = Q();
            if (!hasCustomRules()) {
                // clean will call check_ant() for us.
                ret = this.clean(opts);
            }

            var args = this.getArgs(opts.buildType == 'debug' ? 'debug' : 'release', opts);
            return check_reqs.check_ant()
            .then(function() {
                console.log('Executing: ant ' + args.join(' '));
                return spawn('ant', args);
            });
        }
function(opts) {
            // Without our custom_rules.xml, we need to clean before building.
            var ret = Q();
            if (!hasCustomRules()) {
                // clean will call check_ant() for us.
                ret = this.clean(opts);
            }

            var args = this.getArgs(opts.buildType == 'debug' ? 'debug' : 'release', opts);
            return check_reqs.check_ant()
            .then(function() {
                console.log('Executing: ant ' + args.join(' '));
                return spawn('ant', args);
            });
        }
function ( opts ) { // Without our custom_rules.xml, we need to clean before building. var ret = Q ( ) ; if ( ! hasCustomRules ( ) ) { // clean will call check_ant() for us. ret = this . clean ( opts ) ; } var args = this . getArgs ( opts . buildType == 'debug' ? 'debug' : 'release' , opts ) ; return check_reqs . check_ant ( ) . then ( function ( ) { console . log ( 'Executing: ant ' + args . join ( ' ' ) ) ; return spawn ( 'ant' , args ) ; } ) ; }
/*
Builds the project with ant.
Returns a promise.
/ * Builds the project with ant . Returns a promise .