diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 00000000..f6102a52 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,52 @@ +'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"); + +/* + * 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' + ]) + .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); +}); + + +/* + * Copy lib files +*/ +gulp.task('copy', function() { + + return gulp + .src(['./lib/**/*.js']) + .pipe(gulp.dest('./dist/lib')); +}); + + +gulp.task('default', ['clean', 'dist', 'copy']); diff --git a/package.json b/package.json index f4a734d4..5a2336f6 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,13 @@ "cors": "2.1.1", "docco": "0.4.x", "express": "3.x", + "gulp": "^3.8.10", + "gulp-clean": "^0.3.1", + "gulp-coffee": "^2.2.0", + "gulp-concat": "^2.4.3", + "gulp-rename": "^1.2.0", + "gulp-uglify": "^1.1.0", + "gulp-util": "^3.0.2", "http-server": "^0.7.4", "mocha": "^2.1.0", "ncp": "^1.0.1",