Skip to content

Commit 04a7878

Browse files
committed
feat(gen:gulp): add installFixtures task
1 parent 7c87953 commit 04a7878

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

Diff for: gulpfile.js

+45
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ var del = require('del');
1111
var lazypipe = require('lazypipe');
1212
var runSequence = require('run-sequence');
1313
var merge = require('merge-stream');
14+
const exec = require('child_process').exec;
15+
const _ = require('lodash');
16+
const gutil = require('gulp-util');
17+
const shell = require('shelljs');
1418

1519
var watching = false;
1620

@@ -114,6 +118,47 @@ gulp.task('updateFixtures:deps', () => {
114118
return updateFixtures('deps');
115119
});
116120

121+
function execAsync(cmd, opt) {
122+
return new Promise((resolve, reject) => {
123+
exec(cmd, opt, (err, stdout, stderr) => {
124+
if(err) {
125+
console.log(`stderr: ${stderr}`);
126+
return reject(err);
127+
}
128+
129+
return resolve(stdout);
130+
})
131+
});
132+
}
133+
134+
gulp.task('installFixtures', function() {
135+
gutil.log('installing npm & bower dependencies for generated app');
136+
let progress = setInterval(() => {
137+
process.stdout.write('.');
138+
}, 1 * 1000);
139+
shell.cd('test/fixtures');
140+
141+
return Promise.all([
142+
execAsync('npm install --quiet', {cwd: '../fixtures'}),
143+
execAsync('bower install', {cwd: '../fixtures'})
144+
]).then(() => {
145+
process.stdout.write('\n');
146+
if(!process.env.SAUCE_USERNAME) {
147+
gutil.log('running npm run-script update-webdriver');
148+
return execAsync('npm run-script update-webdriver').then(() => {
149+
clearInterval(progress);
150+
process.stdout.write('\n');
151+
shell.cd('../../');
152+
});
153+
} else {
154+
clearInterval(progress);
155+
process.stdout.write('\n');
156+
shell.cd('../../');
157+
return Promise.resolve();
158+
}
159+
});
160+
});
161+
117162
gulp.task('test', () => {
118163
return gulp.src('test/*.test.js')
119164
.pipe(mocha())

0 commit comments

Comments
 (0)