c3a15c45e071bc1da6c951d9d9eb08ebbacfe194
[ccsdk/apps.git] / sdnr / wireless-transport / code-Carbon-SR1 / ux / security / security-module / src / main / resources / security / gulpfile.js
1 var gulp = require('gulp'),
2     del = require('del'),
3     gutil = require('gulp-util'),
4     concat = require('gulp-concat'),
5     runSequence = require('run-sequence'),
6     install = require("gulp-install"),
7     connect = require('gulp-connect'),
8     open = require('gulp-open'),
9     argv = require('yargs').argv,
10     less = require('gulp-less'),
11     debug = require('gulp-debug'),
12     replace = require('gulp-replace-task');
13
14 var config = require( './build.config.js');
15
16
17 /**
18  * Task for cleaning build directory
19  */
20 gulp.task('clean', function() {
21     // You can use multiple globbing patterns as you would with `gulp.src`
22     return del(config.build_dir);
23 });
24
25 /**
26  * Copy assets
27  */
28 gulp.task('copyAssetsCss', function () {
29     return gulp.src(config.assets_files.css)
30         .pipe(
31             gulp.dest(
32                 (config.build_dir) + '/assets/css'
33             )
34         );
35 });
36
37 gulp.task('copyAssetsData', function () {
38     return gulp.src(config.assets_files.data)
39         .pipe(gulp.dest((config.build_dir) + '/assets/data'));
40 });
41
42 /**
43  * Copy app files
44  */
45 gulp.task('copyTemplates', function () {
46     gutil.log(gutil.colors.cyan('INFO :: copying APP Template files'));
47     // Copy html
48     return gulp.src(config.app_files.templates)
49         .pipe(gulp.dest(config.build_dir));
50 });
51
52 gulp.task('copyAppJs', function () {
53     gutil.log(gutil.colors.cyan('INFO :: copying APP Controller JS files'));
54     return gulp.src(config.app_files.js)
55         .pipe(gulp.dest(config.build_dir));
56 });
57
58 gulp.task('copyRootJs', function () {
59     gutil.log(gutil.colors.cyan('INFO :: copying APP Root JS files'));
60     return gulp.src(config.app_files.root_js)
61         .pipe(gulp.dest(config.build_dir));
62 });
63
64 /**
65  * Compile css from less files
66  */
67 gulp.task('less', function () {
68     gutil.log(gutil.colors.cyan('INFO :: compiling LESS file'));
69     return gulp.src(config.app_files.less)
70         .pipe(less())
71         .pipe(gulp.dest((config.build_dir) + '/assets/css'));
72 });
73
74 /**
75  * Copy app assets images
76  */
77 gulp.task('copyAppImgs', function () {
78     gutil.log(gutil.colors.cyan('INFO :: copying image files'));
79     return gulp.src(config.app_files.img)
80         .pipe(gulp.dest((config.build_dir) + '/assets/img'));
81
82 });
83
84 /**
85  * Copy vendor files
86  */
87 gulp.task('copyVendorCss', function () {
88     gutil.log(gutil.colors.cyan('INFO :: copying VENDOR css'));
89     return gulp.src(config.vendor_files.css, { cwd : 'node_modules/**' })
90         .pipe(gulp.dest((config.build_dir) + '/vendor'));
91 });
92
93 gulp.task('copyVendorFonts', function () {
94     gutil.log(gutil.colors.cyan('INFO :: copying VENDOR fonts'));
95     return gulp.src(config.vendor_files.fonts, { cwd : 'node_modules/**' })
96         .pipe(gulp.dest((config.build_dir) + '/vendor'));
97 });
98
99 gulp.task('copyVendorJs', function () {
100     gutil.log(gutil.colors.cyan('INFO :: copying VENDOR js files'));
101     return gulp.src(config.vendor_files.js, { cwd : 'node_modules/**' })
102         .pipe(gulp.dest((config.build_dir) + '/vendor'));
103 });
104
105 /**
106  * Copy task aggregated
107  */
108 gulp.task('copy', function() {
109     runSequence('less', [
110         'copyAssetsCss',
111         'copyAssetsData',
112         'copyTemplates',
113         'copyAppJs',
114         'copyRootJs',
115         'copyVendorCss',
116         'copyVendorFonts',
117         'copyAppImgs'
118     ], 'copyVendorJs');
119 });
120
121 /**
122  * Build task
123  */
124 gulp.task('build', function(){
125     runSequence('clean', 'copy');
126 });
127
128
129 /**
130  * Live preview main task for development
131  * argument --live should be used to force build task to build only live preview
132  */
133 gulp.task('default', function (){
134
135     if (!argv.live) {
136         gutil.log(gutil.colors.red('ERROR :: --live argument must be used for live preview!'));
137     }
138
139     gutil.log(gutil.colors.cyan('INFO :: opening new browser tab live:' + argv.live));
140
141     runSequence('build');
142 });