/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ 'use strict'; var gulp = require('gulp'), minifyHTML = require('gulp-minify-html'), minifyCss = require('gulp-minify-css'), Del = require('del'), Yargs = require('yargs'), RunSequence = require('run-sequence'), shell = require('gulp-shell'); var argv = Yargs.argv; /** * Build Settings */ var settings = { /* * Environment to build our application for * * If we have passed an environment via a * CLI option, then use that. If not attempt * to use the NODE_ENV. If not set, use production. */ environment: !!argv.env ? argv.env : process.env.NODE_ENV || 'p', productionFolder: 'target/webapp-build', devFolder: 'src/main/webapp' }; /** * Clean Task * * Clears the build folder from our * previous builds files. */ gulp.task('clean', function(cb) { return Del([ settings.productionFolder ], cb); }); /** * minify JS Task * */ gulp.task('minify-js', ['clean'], shell.task([ 'node production/r.js -o production/build.js' ])); /** * minify CSS Task * */ gulp.task('minify-css', ['minify-js'], function() { return gulp.src(settings.productionFolder+'/**/*.css') .pipe(minifyCss({ compatibility: 'ie8' })) .pipe(gulp.dest(settings.productionFolder+'/')); }); /** * minify HTML Task * */ // gulp.task('minify-html', function() { // return gulp.src(settings.productionFolder+'/**/*.html') // .pipe(minifyHTML({ // empty: true // })) // .pipe(gulp.dest(settings.productionFolder+'/')); // }); /** * Build Task * */ /*gulp.task('builProduction', ['minify-css'], shell.task([ 'mvn clean compile package -Denv=' + settings.productionFolder ])); gulp.task('runProduction', ['builProduction'], shell.task([ 'mvn exec:java -Denv=' + settings.productionFolder ])); gulp.task('runDev', ['buildDev'], shell.task([ 'mvn exec:java -DwebAppDir=' + settings.devFolder ])); gulp.task('buildDev', shell.task([ 'mvn clean compile package -DwebAppDir=' + settings.devFolder ]));*/ /** * Default Task * * Run the above tasks in the correct order */ gulp.task('default', function(cb) { /* if (settings.environment) { if (settings.environment == "p") { gulp.run(['runProduction']); } if (settings.environment == "d") { gulp.run(['runDev']); } } return gutil.log("All Done!");*/ });