Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

106 строки
2.2 KiB

  1. 'use strict';
  2. var gulp = require('gulp');
  3. var es = require('event-stream');
  4. var gutil = require('gulp-util');
  5. var clean = require('gulp-clean');
  6. var coffee = require('gulp-coffee');
  7. var concat = require('gulp-concat');
  8. var uglify = require('gulp-uglify');
  9. var rename = require('gulp-rename');
  10. var less = require('gulp-less');
  11. var handlebars = require('gulp-handlebars');
  12. var wrap = require('gulp-wrap');
  13. var declare = require('gulp-declare');
  14. /*
  15. * Clean ups ./dist folder
  16. */
  17. gulp.task('clean', function() {
  18. return gulp
  19. .src('./dist', {read: false})
  20. .pipe(clean({force: true}))
  21. .on('error', gutil.log);
  22. });
  23. /*
  24. * Processes Handlebars templates
  25. */
  26. function templates() {
  27. return gulp
  28. .src(['./src/main/template/**/*'])
  29. .pipe(handlebars())
  30. .pipe(wrap('Handlebars.template(/*__DEFINING__*/<%= contents %>)'))
  31. .pipe(declare({
  32. namespace: 'Handlebars.templates',
  33. noRedeclare: true, // Avoid duplicate declarations
  34. }))
  35. .on('error', gutil.log);
  36. }
  37. /*
  38. * Processes CoffeeScript files
  39. */
  40. function coffeescript () {
  41. return gulp
  42. .src(['./src/main/coffeescript/**/*.coffee'])
  43. .pipe(coffee({bare: true}))
  44. .on('error', gutil.log);
  45. }
  46. /*
  47. * Build a distribution
  48. */
  49. gulp.task('dist', ['clean'], function() {
  50. return es.merge(
  51. gulp.src('./src/main/javascript/doc.js'),
  52. coffeescript(),
  53. templates()
  54. )
  55. .pipe(concat('swagger-ui.js'))
  56. .pipe(gulp.dest('./dist'))
  57. .pipe(uglify())
  58. .pipe(rename({extname: '.min.js'}))
  59. .on('error', gutil.log)
  60. .pipe(gulp.dest('./dist'));
  61. });
  62. /*
  63. * Processes less files into CSS files
  64. */
  65. gulp.task('less', ['clean'], function() {
  66. return gulp
  67. .src([
  68. './src/main/less/screen.less',
  69. './src/main/less/reset.less'
  70. ])
  71. .pipe(less())
  72. .on('error', gutil.log)
  73. .pipe(gulp.dest('./src/main/html/css/'));
  74. });
  75. /*
  76. * Copy lib and html folders
  77. */
  78. gulp.task('copy', ['clean'], function() {
  79. // copy JavaScript files inside lib folder
  80. gulp
  81. .src(['./lib/**/*.js'])
  82. .pipe(gulp.dest('./dist/lib'))
  83. .on('error', gutil.log)
  84. // copy all files inside html folder
  85. gulp
  86. .src(['./src/main/html/**/*'])
  87. .pipe(gulp.dest('./dist'))
  88. .on('error', gutil.log)
  89. });
  90. gulp.task('default', ['dist', 'less', 'copy']);