* refactor: Moved JHipster Monolithic to a subfolder * feat: Add JHipster Microservice modules closes BAEL-521
		
			
				
	
	
		
			167 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Generated on 2017-05-03 using generator-jhipster 4.0.8
 | |
| 'use strict';
 | |
| 
 | |
| var gulp = require('gulp'),
 | |
|     rev = require('gulp-rev'),
 | |
|     templateCache = require('gulp-angular-templatecache'),
 | |
|     htmlmin = require('gulp-htmlmin'),
 | |
|     imagemin = require('gulp-imagemin'),
 | |
|     ngConstant = require('gulp-ng-constant'),
 | |
|     rename = require('gulp-rename'),
 | |
|     eslint = require('gulp-eslint'),
 | |
|     del = require('del'),
 | |
|     runSequence = require('run-sequence'),
 | |
|     browserSync = require('browser-sync'),
 | |
|     KarmaServer = require('karma').Server,
 | |
|     plumber = require('gulp-plumber'),
 | |
|     changed = require('gulp-changed'),
 | |
|     gulpIf = require('gulp-if');
 | |
| 
 | |
| var handleErrors = require('./gulp/handle-errors'),
 | |
|     serve = require('./gulp/serve'),
 | |
|     util = require('./gulp/utils'),
 | |
|     copy = require('./gulp/copy'),
 | |
|     inject = require('./gulp/inject'),
 | |
|     build = require('./gulp/build');
 | |
| 
 | |
| var config = require('./gulp/config');
 | |
| 
 | |
| gulp.task('clean', function () {
 | |
|     return del([config.dist], { dot: true });
 | |
| });
 | |
| 
 | |
| gulp.task('copy', ['copy:fonts', 'copy:common']);
 | |
| 
 | |
| gulp.task('copy:fonts', copy.fonts);
 | |
| 
 | |
| gulp.task('copy:common', copy.common);
 | |
| 
 | |
| gulp.task('copy:swagger', copy.swagger);
 | |
| 
 | |
| gulp.task('copy:images', copy.images);
 | |
| 
 | |
| gulp.task('images', function () {
 | |
|     return gulp.src(config.app + 'content/images/**')
 | |
|         .pipe(plumber({errorHandler: handleErrors}))
 | |
|         .pipe(changed(config.dist + 'content/images'))
 | |
|         .pipe(imagemin({optimizationLevel: 5, progressive: true, interlaced: true}))
 | |
|         .pipe(rev())
 | |
|         .pipe(gulp.dest(config.dist + 'content/images'))
 | |
|         .pipe(rev.manifest(config.revManifest, {
 | |
|             base: config.dist,
 | |
|             merge: true
 | |
|         }))
 | |
|         .pipe(gulp.dest(config.dist))
 | |
|         .pipe(browserSync.reload({stream: true}));
 | |
| });
 | |
| 
 | |
| 
 | |
| gulp.task('styles', [], function () {
 | |
|     return gulp.src(config.app + 'content/css')
 | |
|         .pipe(browserSync.reload({stream: true}));
 | |
| });
 | |
| 
 | |
| gulp.task('inject', function() {
 | |
|     runSequence('inject:dep', 'inject:app');
 | |
| });
 | |
| 
 | |
| gulp.task('inject:dep', ['inject:test', 'inject:vendor']);
 | |
| 
 | |
| gulp.task('inject:app', inject.app);
 | |
| 
 | |
| gulp.task('inject:vendor', inject.vendor);
 | |
| 
 | |
| gulp.task('inject:test', inject.test);
 | |
| 
 | |
| gulp.task('inject:troubleshoot', inject.troubleshoot);
 | |
| 
 | |
| gulp.task('assets:prod', ['images', 'styles', 'html', 'copy:swagger', 'copy:images'], build);
 | |
| 
 | |
| gulp.task('html', function () {
 | |
|     return gulp.src(config.app + 'app/**/*.html')
 | |
|         .pipe(htmlmin({collapseWhitespace: true}))
 | |
|         .pipe(templateCache({
 | |
|             module: 'gatewayApp',
 | |
|             root: 'app/',
 | |
|             moduleSystem: 'IIFE'
 | |
|         }))
 | |
|         .pipe(gulp.dest(config.tmp));
 | |
| });
 | |
| 
 | |
| gulp.task('ngconstant:dev', function () {
 | |
|     return ngConstant({
 | |
|         name: 'gatewayApp',
 | |
|         constants: {
 | |
|             VERSION: util.parseVersion(),
 | |
|             DEBUG_INFO_ENABLED: true
 | |
|         },
 | |
|         template: config.constantTemplate,
 | |
|         stream: true
 | |
|     })
 | |
|     .pipe(rename('app.constants.js'))
 | |
|     .pipe(gulp.dest(config.app + 'app/'));
 | |
| });
 | |
| 
 | |
| gulp.task('ngconstant:prod', function () {
 | |
|     return ngConstant({
 | |
|         name: 'gatewayApp',
 | |
|         constants: {
 | |
|             VERSION: util.parseVersion(),
 | |
|             DEBUG_INFO_ENABLED: false
 | |
|         },
 | |
|         template: config.constantTemplate,
 | |
|         stream: true
 | |
|     })
 | |
|     .pipe(rename('app.constants.js'))
 | |
|     .pipe(gulp.dest(config.app + 'app/'));
 | |
| });
 | |
| 
 | |
| // check app for eslint errors
 | |
| gulp.task('eslint', function () {
 | |
|     return gulp.src(['gulpfile.js', config.app + 'app/**/*.js'])
 | |
|         .pipe(plumber({errorHandler: handleErrors}))
 | |
|         .pipe(eslint())
 | |
|         .pipe(eslint.format())
 | |
|         .pipe(eslint.failOnError());
 | |
| });
 | |
| 
 | |
| // check app for eslint errors anf fix some of them
 | |
| gulp.task('eslint:fix', function () {
 | |
|     return gulp.src(config.app + 'app/**/*.js')
 | |
|         .pipe(plumber({errorHandler: handleErrors}))
 | |
|         .pipe(eslint({
 | |
|             fix: true
 | |
|         }))
 | |
|         .pipe(eslint.format())
 | |
|         .pipe(gulpIf(util.isLintFixed, gulp.dest(config.app + 'app')));
 | |
| });
 | |
| 
 | |
| gulp.task('test', ['inject:test', 'ngconstant:dev'], function (done) {
 | |
|     new KarmaServer({
 | |
|         configFile: __dirname + '/' + config.test + 'karma.conf.js',
 | |
|         singleRun: true
 | |
|     }, done).start();
 | |
| });
 | |
| 
 | |
| 
 | |
| gulp.task('watch', function () {
 | |
|     gulp.watch('bower.json', ['install']);
 | |
|     gulp.watch(['gulpfile.js', 'pom.xml'], ['ngconstant:dev']);
 | |
|     gulp.watch(config.app + 'content/css/**/*.css', ['styles']);
 | |
|     gulp.watch(config.app + 'content/images/**', ['images']);
 | |
|     gulp.watch(config.app + 'app/**/*.js', ['inject:app']);
 | |
|     gulp.watch([config.app + '*.html', config.app + 'app/**', config.app + 'i18n/**']).on('change', browserSync.reload);
 | |
| });
 | |
| 
 | |
| gulp.task('install', function () {
 | |
|     runSequence(['inject:dep', 'ngconstant:dev'], 'inject:app', 'inject:troubleshoot');
 | |
| });
 | |
| 
 | |
| gulp.task('serve', ['install'], serve);
 | |
| 
 | |
| gulp.task('build', ['clean'], function (cb) {
 | |
|     runSequence(['copy', 'inject:vendor', 'ngconstant:prod'], 'inject:app', 'inject:troubleshoot', 'assets:prod', cb);
 | |
| });
 | |
| 
 | |
| gulp.task('default', ['serve']);
 |