summaryrefslogtreecommitdiffstats
path: root/sdnr/wireless-transport/code-Carbon-SR1/ux/security/security-module/src/main/resources/security/gulpfile.js
blob: c3a15c45e071bc1da6c951d9d9eb08ebbacfe194 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
var gulp = require('gulp'),
    del = require('del'),
    gutil = require('gulp-util'),
    concat = require('gulp-concat'),
    runSequence = require('run-sequence'),
    install = require("gulp-install"),
    connect = require('gulp-connect'),
    open = require('gulp-open'),
    argv = require('yargs').argv,
    less = require('gulp-less'),
    debug = require('gulp-debug'),
    replace = require('gulp-replace-task');

var config = require( './build.config.js');


/**
 * Task for cleaning build directory
 */
gulp.task('clean', function() {
    // You can use multiple globbing patterns as you would with `gulp.src`
    return del(config.build_dir);
});

/**
 * Copy assets
 */
gulp.task('copyAssetsCss', function () {
    return gulp.src(config.assets_files.css)
        .pipe(
            gulp.dest(
                (config.build_dir) + '/assets/css'
            )
        );
});

gulp.task('copyAssetsData', function () {
    return gulp.src(config.assets_files.data)
        .pipe(gulp.dest((config.build_dir) + '/assets/data'));
});

/**
 * Copy app files
 */
gulp.task('copyTemplates', function () {
    gutil.log(gutil.colors.cyan('INFO :: copying APP Template files'));
    // Copy html
    return gulp.src(config.app_files.templates)
        .pipe(gulp.dest(config.build_dir));
});

gulp.task('copyAppJs', function () {
    gutil.log(gutil.colors.cyan('INFO :: copying APP Controller JS files'));
    return gulp.src(config.app_files.js)
        .pipe(gulp.dest(config.build_dir));
});

gulp.task('copyRootJs', function () {
    gutil.log(gutil.colors.cyan('INFO :: copying APP Root JS files'));
    return gulp.src(config.app_files.root_js)
        .pipe(gulp.dest(config.build_dir));
});

/**
 * Compile css from less files
 */
gulp.task('less', function () {
    gutil.log(gutil.colors.cyan('INFO :: compiling LESS file'));
    return gulp.src(config.app_files.less)
        .pipe(less())
        .pipe(gulp.dest((config.build_dir) + '/assets/css'));
});

/**
 * Copy app assets images
 */
gulp.task('copyAppImgs', function () {
    gutil.log(gutil.colors.cyan('INFO :: copying image files'));
    return gulp.src(config.app_files.img)
        .pipe(gulp.dest((config.build_dir) + '/assets/img'));

});

/**
 * Copy vendor files
 */
gulp.task('copyVendorCss', function () {
    gutil.log(gutil.colors.cyan('INFO :: copying VENDOR css'));
    return gulp.src(config.vendor_files.css, { cwd : 'node_modules/**' })
        .pipe(gulp.dest((config.build_dir) + '/vendor'));
});

gulp.task('copyVendorFonts', function () {
    gutil.log(gutil.colors.cyan('INFO :: copying VENDOR fonts'));
    return gulp.src(config.vendor_files.fonts, { cwd : 'node_modules/**' })
        .pipe(gulp.dest((config.build_dir) + '/vendor'));
});

gulp.task('copyVendorJs', function () {
    gutil.log(gutil.colors.cyan('INFO :: copying VENDOR js files'));
    return gulp.src(config.vendor_files.js, { cwd : 'node_modules/**' })
        .pipe(gulp.dest((config.build_dir) + '/vendor'));
});

/**
 * Copy task aggregated
 */
gulp.task('copy', function() {
    runSequence('less', [
        'copyAssetsCss',
        'copyAssetsData',
        'copyTemplates',
        'copyAppJs',
        'copyRootJs',
        'copyVendorCss',
        'copyVendorFonts',
        'copyAppImgs'
    ], 'copyVendorJs');
});

/**
 * Build task
 */
gulp.task('build', function(){
    runSequence('clean', 'copy');
});


/**
 * Live preview main task for development
 * argument --live should be used to force build task to build only live preview
 */
gulp.task('default', function (){

    if (!argv.live) {
        gutil.log(gutil.colors.red('ERROR :: --live argument must be used for live preview!'));
    }

    gutil.log(gutil.colors.cyan('INFO :: opening new browser tab live:' + argv.live));

    runSequence('build');
});