Gulp: port the all, extension and jsdoc targets

This requires the `run-sequence` dependency because Gulp does not have a
way to run sequences of tasks inside a Gulp task. Gulp 4.0 will have
support for this, but until that is released this is the recommended way
to implement it.
This commit is contained in:
Tim van der Meij 2016-10-16 16:06:37 +02:00
parent 2e20000b71
commit 224e3a42a2
3 changed files with 37 additions and 35 deletions

View file

@ -20,7 +20,9 @@
var fs = require('fs');
var gulp = require('gulp');
var gutil = require('gulp-util');
var mkdirp = require('mkdirp');
var rimraf = require('rimraf');
var runSequence = require('run-sequence');
var stream = require('stream');
var exec = require('child_process').exec;
var spawn = require('child_process').spawn;
@ -28,6 +30,7 @@ var streamqueue = require('streamqueue');
var zip = require('gulp-zip');
var BUILD_DIR = 'build/';
var JSDOC_DIR = 'jsdoc/';
var L10N_DIR = 'l10n/';
var TEST_DIR = 'test/';
@ -339,6 +342,13 @@ gulp.task('default', function() {
});
});
gulp.task('extension', function (done) {
console.log();
console.log('### Building extensions');
runSequence('locale', ['firefox', 'chromium'], done);
});
gulp.task('buildnumber', function (done) {
console.log();
console.log('### Getting extension build number');
@ -421,6 +431,28 @@ gulp.task('bundle', ['buildnumber'], function () {
return createBundle(DEFINES).pipe(gulp.dest(BUILD_DIR));
});
gulp.task('jsdoc', function (done) {
console.log();
console.log('### Generating documentation (JSDoc)');
var JSDOC_FILES = [
'src/doc_helper.js',
'src/display/api.js',
'src/display/global.js',
'src/shared/util.js',
'src/core/annotation.js'
];
var directory = BUILD_DIR + JSDOC_DIR;
rimraf(directory, function () {
mkdirp(directory, function () {
var command = '"node_modules/.bin/jsdoc" -d ' + directory + ' ' +
JSDOC_FILES.join(' ');
exec(command, done);
});
});
});
gulp.task('publish', ['generic'], function (done) {
var version = JSON.parse(
fs.readFileSync(BUILD_DIR + 'version.json').toString()).version;