mirror of
https://github.com/apache/cordova-android.git
synced 2025-03-03 16:03:08 +08:00
Start of GradleBuilder.js specs - puts it on the code coverage radar.
This commit is contained in:
parent
ee1165ea33
commit
9d9abea157
@ -22,7 +22,7 @@ var fs = require('fs');
|
|||||||
var util = require('util');
|
var util = require('util');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var shell = require('shelljs');
|
var shell = require('shelljs');
|
||||||
var spawn = require('cordova-common').superspawn.spawn;
|
var superspawn = require('cordova-common').superspawn;
|
||||||
var CordovaError = require('cordova-common').CordovaError;
|
var CordovaError = require('cordova-common').CordovaError;
|
||||||
var check_reqs = require('../check_reqs');
|
var check_reqs = require('../check_reqs');
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ GradleBuilder.prototype.runGradleWrapper = function(gradle_cmd) {
|
|||||||
if(fs.existsSync(gradlePath)) {
|
if(fs.existsSync(gradlePath)) {
|
||||||
//Literally do nothing, for some reason this works, while !fs.existsSync didn't on Windows
|
//Literally do nothing, for some reason this works, while !fs.existsSync didn't on Windows
|
||||||
} else {
|
} else {
|
||||||
return spawn(gradle_cmd, ['-p', this.root, 'wrapper', '-b', wrapperGradle], {stdio: 'inherit'});
|
return superspawn.spawn(gradle_cmd, ['-p', this.root, 'wrapper', '-b', wrapperGradle], {stdio: 'inherit'});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -223,7 +223,7 @@ GradleBuilder.prototype.build = function(opts) {
|
|||||||
var wrapper = path.join(this.root, 'gradlew');
|
var wrapper = path.join(this.root, 'gradlew');
|
||||||
var args = this.getArgs(opts.buildType == 'debug' ? 'debug' : 'release', opts);
|
var args = this.getArgs(opts.buildType == 'debug' ? 'debug' : 'release', opts);
|
||||||
|
|
||||||
return spawn(wrapper, args, {stdio: 'pipe'})
|
return superspawn.spawn(wrapper, args, {stdio: 'pipe'})
|
||||||
.progress(function (stdio){
|
.progress(function (stdio){
|
||||||
if (stdio.stderr) {
|
if (stdio.stderr) {
|
||||||
/*
|
/*
|
||||||
@ -258,7 +258,7 @@ GradleBuilder.prototype.clean = function(opts) {
|
|||||||
var wrapper = path.join(this.root, 'gradlew');
|
var wrapper = path.join(this.root, 'gradlew');
|
||||||
var args = builder.getArgs('clean', opts);
|
var args = builder.getArgs('clean', opts);
|
||||||
return Q().then(function() {
|
return Q().then(function() {
|
||||||
return spawn(wrapper, args, {stdio: 'inherit'});
|
return superspawn.spawn(wrapper, args, {stdio: 'inherit'});
|
||||||
})
|
})
|
||||||
.then(function () {
|
.then(function () {
|
||||||
shell.rm('-rf', path.join(builder.root, 'out'));
|
shell.rm('-rf', path.join(builder.root, 'out'));
|
||||||
|
25
spec/unit/builders/GradleBuilder.spec.js
Normal file
25
spec/unit/builders/GradleBuilder.spec.js
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
var gradle_builder = require('../../../bin/templates/cordova/lib/builders/GradleBuilder.js');
|
||||||
|
var fs = require('fs');
|
||||||
|
var superspawn = require('cordova-common').superspawn;
|
||||||
|
var builder;
|
||||||
|
|
||||||
|
describe('Gradle Builder', function() {
|
||||||
|
beforeEach(function() {
|
||||||
|
spyOn(fs, 'existsSync').and.returnValue(true);
|
||||||
|
builder = new gradle_builder('/root');
|
||||||
|
spyOn(superspawn, 'spawn');
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('runGradleWrapper method', function() {
|
||||||
|
it('should run the provided gradle command if a gradle wrapper does not already exist', function() {
|
||||||
|
fs.existsSync.and.returnValue(false);
|
||||||
|
builder.runGradleWrapper('/my/sweet/gradle');
|
||||||
|
expect(superspawn.spawn).toHaveBeenCalledWith('/my/sweet/gradle', jasmine.any(Array), jasmine.any(Object));
|
||||||
|
});
|
||||||
|
it('should do nothing if a gradle wrapper exists in the project directory', function() {
|
||||||
|
fs.existsSync.and.returnValue(true);
|
||||||
|
builder.runGradleWrapper('/my/sweet/gradle');
|
||||||
|
expect(superspawn.spawn).not.toHaveBeenCalledWith('/my/sweet/gradle', jasmine.any(Array), jasmine.any(Object));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user