Files
swagger-ui/gulpfile.js
2015-01-29 14:38:20 -08:00

75 lines
1.5 KiB
JavaScript

'use strict';
var gulp = require('gulp');
var gutil = require('gulp-util');
var clean = require('gulp-clean');
var coffee = require('gulp-coffee');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require("gulp-rename");
var less = require('gulp-less');
/*
* Clean ups ./dist folder
*/
gulp.task('clean', function() {
return gulp
.src('./dist', {read: false})
.pipe(clean({force: true}));
});
/*
* Build a distribution
*/
gulp.task('dist', function() {
return gulp
.src([
'./src/main/coffeescript/view/**/*.coffee',
'./src/main/coffeescript/SwaggerUi.coffee'
])
.pipe(coffee({bare: true}))
.pipe(concat('swagger-ui.js'))
.pipe(gulp.dest('./dist'))
.pipe(uglify())
.pipe(rename({extname: '.min.js'}))
.pipe(gulp.dest('./dist'))
.on('error', gutil.log);
});
/*
* Processes less files into CSS files
*/
gulp.task('less', function() {
gulp
.src('./src/main/less/screen.less')
.pipe(less())
.pipe(gulp.dest('./src/main/html/css/screen.css'));
gulp
.src('./src/main/less/reset.less')
.pipe(less())
.pipe(gulp.dest('./src/main/html/css/reset.css'));
});
/*
* Copy lib and html folders
*/
gulp.task('copy', function() {
// copy JavaScript files inside lib folder
gulp
.src(['./lib/**/*.js'])
.pipe(gulp.dest('./dist/lib'));
// copy all files inside html folder
gulp
.src(['./src/main/html/**/*'])
.pipe(gulp.dest('./dist'));
});
gulp.task('default', ['clean', 'dist', 'copy']);