From 55312785d86cd21ce08313d300ff0f054d17419a Mon Sep 17 00:00:00 2001 From: Antoine Rey <antoine.rey@gmail.com> Date: Sun, 23 Oct 2016 19:10:51 +0200 Subject: [PATCH] Using gulp for minifying CSS and JS --- .gitignore | 4 --- springboot-petclinic-client/.gitignore | 3 ++ springboot-petclinic-client/gulpfile.js | 42 ++++++++++++++++++++++++ springboot-petclinic-client/package.json | 5 ++- springboot-petclinic-client/pom.xml | 8 ++++- 5 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 springboot-petclinic-client/.gitignore create mode 100644 springboot-petclinic-client/gulpfile.js diff --git a/.gitignore b/.gitignore index 22915b52..b06a9e2c 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,3 @@ target/ # Branch switching generated/ - -# Front-end client -node_modules/ -bower_components/ \ No newline at end of file diff --git a/springboot-petclinic-client/.gitignore b/springboot-petclinic-client/.gitignore new file mode 100644 index 00000000..e6eb5c8f --- /dev/null +++ b/springboot-petclinic-client/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +bower_components/ +npm-debug.log \ No newline at end of file diff --git a/springboot-petclinic-client/gulpfile.js b/springboot-petclinic-client/gulpfile.js new file mode 100644 index 00000000..9406cf50 --- /dev/null +++ b/springboot-petclinic-client/gulpfile.js @@ -0,0 +1,42 @@ +var gulp = require('gulp'); +var cleanCSS = require('gulp-clean-css'); +var uglify = require('gulp-uglify'); + +var paths = { + "css" : "src/css/*", + "fonts" : "src/fonts/*", + "images" : "src/images/*", + "html" : "src/scripts/**/*.html", + "js" : "src/scripts/**/*.js", + "dist" : "target/dist/" +}; + +gulp.task('minify-css', function() { + return gulp.src(paths.css) + .pipe(cleanCSS()) + .pipe(gulp.dest(paths.dist + 'css/')); +}); + +gulp.task('minify-js', function() { + return gulp.src(paths.js) + .pipe(uglify()) + .pipe(gulp.dest(paths.dist + 'scripts/')); +}); + +gulp.task('copy-fonts', function() { + return gulp.src(paths.fonts) + .pipe(gulp.dest(paths.dist + 'fonts/')) +}); + +gulp.task('copy-html', function() { + return gulp.src(paths.html) + .pipe(gulp.dest(paths.dist + 'scripts/')) +}); + +gulp.task('copy-images', function() { + return gulp.src(paths.images) + .pipe(gulp.dest(paths.dist + 'images/')) +}); + +gulp.task('default', ['minify-css', 'minify-js', 'copy-fonts', + 'copy-html', 'copy-images'], function() {}); diff --git a/springboot-petclinic-client/package.json b/springboot-petclinic-client/package.json index 2e809be0..3bd8abfb 100644 --- a/springboot-petclinic-client/package.json +++ b/springboot-petclinic-client/package.json @@ -2,6 +2,9 @@ "private": true, "dependencies": {}, "devDependencies": { - "bower": "^1.7.9" + "bower": "^1.7.9", + "gulp": "^3.9.1", + "gulp-clean-css": "^2.0.6", + "gulp-uglify": "^1.5.3" } } diff --git a/springboot-petclinic-client/pom.xml b/springboot-petclinic-client/pom.xml index 04f549a9..fd39c545 100644 --- a/springboot-petclinic-client/pom.xml +++ b/springboot-petclinic-client/pom.xml @@ -18,7 +18,7 @@ <build> <resources> <resource> - <directory>${basedir}/src</directory> + <directory>${project.build.directory}/dist</directory> </resource> <resource> <directory>${basedir}/bower_components</directory> @@ -54,6 +54,12 @@ <goal>bower</goal> </goals> </execution> + <execution> + <id>gulp build</id> + <goals> + <goal>gulp</goal> + </goals> + </execution> </executions> </plugin> <plugin> -- GitLab