added gulp-header to write metadata in comments of output library #900

This commit is contained in:
Tony Tam
2015-02-02 20:17:00 -08:00
parent f3387b7ded
commit f2f939e24e

View File

@@ -14,21 +14,29 @@ var wrap = require('gulp-wrap');
var declare = require('gulp-declare'); var declare = require('gulp-declare');
var watch = require('gulp-watch'); var watch = require('gulp-watch');
var connect = require('gulp-connect'); var connect = require('gulp-connect');
var header = require('gulp-header');
var pkg = require('./package.json');
var banner = ['/**',
' * <%= pkg.name %> - <%= pkg.description %>',
' * @version v<%= pkg.version %>',
' * @link <%= pkg.homepage %>',
' * @license <%= pkg.license %>',
' */',
''].join('\n');
/* /**
* Clean ups ./dist folder * Clean ups ./dist folder
*/ */
gulp.task('clean', function() { gulp.task('clean', function() {
return gulp return gulp
.src('./dist', {read: false}) .src('./dist', {read: false})
.pipe(clean({force: true})) .pipe(clean({force: true}))
.on('error', gutil.log); .on('error', gutil.log);
}); });
/* /**
* Processes Handlebars templates * Processes Handlebars templates
*/ */
function templates() { function templates() {
return gulp return gulp
.src(['./src/main/template/**/*']) .src(['./src/main/template/**/*'])
@@ -41,9 +49,9 @@ function templates() {
.on('error', gutil.log); .on('error', gutil.log);
} }
/* /**
* Processes CoffeeScript files * Processes CoffeeScript files
*/ */
function coffeescript () { function coffeescript () {
return gulp return gulp
.src(['./src/main/coffeescript/**/*.coffee']) .src(['./src/main/coffeescript/**/*.coffee'])
@@ -51,9 +59,9 @@ function coffeescript () {
.on('error', gutil.log); .on('error', gutil.log);
} }
/* /**
* Build a distribution * Build a distribution
*/ */
gulp.task('dist', ['clean'], function() { gulp.task('dist', ['clean'], function() {
return es.merge( return es.merge(
@@ -62,6 +70,7 @@ gulp.task('dist', ['clean'], function() {
templates() templates()
) )
.pipe(concat('swagger-ui.js')) .pipe(concat('swagger-ui.js'))
.pipe(header(banner, { pkg: pkg } ))
.pipe(gulp.dest('./dist')) .pipe(gulp.dest('./dist'))
.pipe(uglify()) .pipe(uglify())
.pipe(rename({extname: '.min.js'})) .pipe(rename({extname: '.min.js'}))
@@ -70,9 +79,9 @@ gulp.task('dist', ['clean'], function() {
.pipe(connect.reload()); .pipe(connect.reload());
}); });
/* /**
* Processes less files into CSS files * Processes less files into CSS files
*/ */
gulp.task('less', ['clean'], function() { gulp.task('less', ['clean'], function() {
return gulp return gulp
@@ -87,9 +96,9 @@ gulp.task('less', ['clean'], function() {
}); });
/* /**
* Copy lib and html folders * Copy lib and html folders
*/ */
gulp.task('copy', ['less'], function() { gulp.task('copy', ['less'], function() {
// copy JavaScript files inside lib folder // copy JavaScript files inside lib folder
@@ -105,18 +114,18 @@ gulp.task('copy', ['less'], function() {
.on('error', gutil.log) .on('error', gutil.log)
}); });
/* /**
* Watch for changes and recompile * Watch for changes and recompile
*/ */
gulp.task('watch', function() { gulp.task('watch', function() {
return watch(['./src/**/*.{coffee,js,less}'], function() { return watch(['./src/**/*.{coffee,js,less}'], function() {
gulp.start('default'); gulp.start('default');
}); });
}); });
/* /**
* Live reload web server of `dist` * Live reload web server of `dist`
*/ */
gulp.task('connect', function() { gulp.task('connect', function() {
connect.server({ connect.server({
root: 'dist', root: 'dist',