Skip to content

Commit

Permalink
improved tasks
Browse files Browse the repository at this point in the history
  • Loading branch information
liabru committed Dec 25, 2015
1 parent 1510b58 commit 61a9ed4
Showing 1 changed file with 44 additions and 37 deletions.
81 changes: 44 additions & 37 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,26 +74,20 @@ gulp.task('changelog', function () {
});

gulp.task('serve', function() {
process.on('uncaughtException', function(err) {
if (err.errno === 'EADDRINUSE') {
gutil.log('Server already running (or port is otherwise in use)');
}
});
serve(false);
});

server = gulp.src('.')
.pipe(webserver({
host: '0.0.0.0',
//livereload: true,
directoryListing: true,
middleware: function(req, res, next) {
var ieMode = (req._parsedUrl.query || '').replace('=','');
if (ieMode in emulateIEMiddleware) {
emulateIEMiddleware[ieMode](req, res, next);
} else {
next();
}
}
}));
gulp.task('serve:test', function() {
serve(true);
});

gulp.task('serve:stop', function() {
if (server) {
try {
server.emit('kill');
} catch (e) {} // eslint-disable-line no-empty
gutil.log('Web server stopped');
}
});

gulp.task('selenium', function(done) {
Expand All @@ -114,20 +108,15 @@ gulp.task('selenium', function(done) {
});
});

gulp.task('test', ['lint', 'serve', 'selenium'], function(done) {
gulp.task('test', ['lint', 'serve:test', 'selenium'], function(done) {
var error;
gutil.log('Starting webdriver...');

var finish = function(err) {
gutil.log('Webdriver stopped');
selenium.child.kill();
gutil.log('Selenium server stopped');
if (server) {
try {
server.emit('kill');
} catch(e) {}
gutil.log('Web server stopped');
}
gulp.start('serve:stop');
done(error || err);
};

Expand All @@ -140,7 +129,7 @@ gulp.task('test', ['lint', 'serve', 'selenium'], function(done) {
.on('finish', finish);
});

gulp.task('test:cloud', ['lint', 'serve'], function(done) {
gulp.task('test:cloud', ['lint', 'serve:test'], function(done) {
ngrok.connect({
authtoken: null,
port: 8000
Expand All @@ -152,20 +141,17 @@ gulp.task('test:cloud', ['lint', 'serve'], function(done) {
}))
.on('finish', function(err) {
if (server) {
try {
server.emit('kill');
} catch(e) {}
ngrok.disconnect();
ngrok.kill();
gutil.log('Tunnel stopped');
gutil.log('Web server stopped');
gulp.start('serve:stop');
}
done(err);
});
});
});

gulp.task('test:cloud:all', ['lint', 'serve'], function(done) {
gulp.task('test:cloud:all', ['lint', 'serve:test'], function(done) {
ngrok.connect({
authtoken: null,
port: 8000
Expand All @@ -177,19 +163,40 @@ gulp.task('test:cloud:all', ['lint', 'serve'], function(done) {
}))
.on('finish', function(err) {
if (server) {
try {
server.emit('kill');
} catch(e) {}
ngrok.disconnect();
ngrok.kill();
gutil.log('Tunnel stopped');
gutil.log('Web server stopped');
gulp.start('serve:stop');
}
done(err);
});
});
});

var serve = function(isTest) {
process.on('uncaughtException', function(err) {
if (err.errno === 'EADDRINUSE') {
gutil.log('Server already running (or port is otherwise in use)');
}
});

server = gulp.src('.')
.pipe(webserver({
host: '0.0.0.0',
livereload: !isTest,
middleware: function(req, res, next) {
var ieMode = (req._parsedUrl.query || '').replace('=','');
if (ieMode in emulateIEMiddleware) {
emulateIEMiddleware[ieMode](req, res, next);
} else {
next();
}
},
open: isTest ? false : 'http:https://localhost:8000/test/page/test.html',
directoryListing: true
}));
};

var banner = [
'/*',
'* <%= build.name %> <%= build.version %> by @liabru',
Expand All @@ -213,4 +220,4 @@ var emulateIEMiddleware = {
'ie8': emulateIEMiddlewareFactory(8),
'ie9': emulateIEMiddlewareFactory(9),
'ie10': emulateIEMiddlewareFactory(10)
};
};

0 comments on commit 61a9ed4

Please sign in to comment.