From 8db7e5a287de0cd1a03ffb48a449c4d738637928 Mon Sep 17 00:00:00 2001
From: PavelBegunkov <asml.Silence@gmail.com>
Date: Wed, 1 Jul 2015 09:59:21 +0300
Subject: [PATCH] Gulp deploy refactoring

---
 deploy/gulpfile.js | 103 +++++++++++++++++++++++++++++++++------------
 1 file changed, 75 insertions(+), 28 deletions(-)

diff --git a/deploy/gulpfile.js b/deploy/gulpfile.js
index de3c15e67..8e8a15a01 100644
--- a/deploy/gulpfile.js
+++ b/deploy/gulpfile.js
@@ -1,51 +1,78 @@
 'use strict';
 var fs = require('fs');
 var gulp = require('gulp');
-var prefix = require('gulp-autoprefixer'); //префиксы
-var concatCss = require('gulp-concat-css'); //конкатенация
-var minifyCss = require('gulp-minify-css'); //минификация
-var rename = require('gulp-rename');		//переименовывание
+
+// gulp plugins
 var less = require('gulp-less');
+//var prefix = require('gulp-autoprefixer'); //префиксы
+//var concatCss = require('gulp-concat-css'); //конкатенация
+//var minifyCss = require('gulp-minify-css'); //минификация
+//var rename = require('gulp-rename');		//переименовывание
+
+
+
+
+// =============================
+//          paths
+// =============================
 
-var ROOT_PATH = '../';
-var APP_PATH = ROOT_PATH + '~dev_rating/';
+var sysPath = {
+    root: '../',
+    app: '../~dev_rating/',
+};
 
-var SRC_CONFIG_PATH = ROOT_PATH + 'config/';
-var DEST_CONFIG_PATH = APP_PATH + 'application/config/';
+var srcPath = {
+    css: sysPath.root + 'media/css/',
+    less: sysPath.root + 'media/less/',
+    js: sysPath.root + 'media/js/',
+    media: sysPath.root + 'media/',
+    config: sysPath.root + 'config/',
+};
 
-var SRC_MEDIA_PATH = ROOT_PATH + 'media/';
-var DEST_MEDIA_PATH = APP_PATH + 'static/';
+var dstPath = {
+    css: sysPath.app + 'static/css/',
+    less: sysPath.app + 'static/css/',
+    js: sysPath.app + 'static/js/',
+    media: sysPath.app + 'static/',
+    config: sysPath.app + 'application/config/',
+};
+
+
+
+// =============================
+//          rules
+// =============================
 
 gulp.task('less:compile', function () {
-	gulp.src(SRC_MEDIA_PATH + 'less/**/*.less')
+	gulp.src(srcPath.less + '**/*.less')
     	.pipe(less())
-    	.pipe(gulp.dest(DEST_MEDIA_PATH + 'css/'));
+    	.pipe(gulp.dest(dstPath.css));
 });
 
 gulp.task('css:copy', function() {
-    gulp.src(SRC_MEDIA_PATH + 'css/**/*.css')
-        .pipe(gulp.dest(DEST_MEDIA_PATH + 'css/'));
+    gulp.src(srcPath.css + '**/*.css')
+        .pipe(gulp.dest(dstPath.css));
 });
 
 gulp.task('js:copy', function() {
-    gulp.src(SRC_MEDIA_PATH + 'js/**/*.js')
-        .pipe(gulp.dest(DEST_MEDIA_PATH + 'js/'));
+    gulp.src(srcPath.js + '**/*.js')
+        .pipe(gulp.dest(dstPath.js));
 });
 
 gulp.task('config:copy', function() {
-    gulp.src(SRC_CONFIG_PATH + '*')
-        .pipe(gulp.dest(DEST_CONFIG_PATH));
+    gulp.src(srcPath.config + '*')
+        .pipe(gulp.dest(dstPath.config));
 });
 
 gulp.task('folders:create', function() {
     var dirs = [
-        APP_PATH + 'application/logs/',
-        APP_PATH + 'application/cache/',
-        APP_PATH + 'application/cache/twig/'
+        sysPath.app + 'application/logs/',
+        sysPath.app + 'application/cache/',
+        sysPath.app + 'application/cache/twig/'
     ];
-    fs.mkdir(dirs[0], function(err, fd) {});
-    fs.mkdir(dirs[1], function(err, fd) {
-        fs.mkdir(dirs[2], function(err, fd) {});
+    fs.mkdir(dirs[0], function() {});
+    fs.mkdir(dirs[1], function() {
+        fs.mkdir(dirs[2], function() {});
     });
 });
 
@@ -62,16 +89,36 @@ gulp.task('folders:create', function() {
 //   gulp.src('source/*.html').pipe(gulp.dest('public'));
 // });
 
+
+
+// =============================
+//          watch
+// =============================
+
 gulp.task('watch', function () {
-	gulp.watch(SRC_MEDIA_PATH + 'css/*.css', ['css:copy']);
-	gulp.watch(SRC_MEDIA_PATH + 'less/*.less', ['less:compile']);
+	gulp.watch(srcPath.css + '*.css', ['css:copy']);
+	gulp.watch(srcPath.less + '*.less', ['less:compile']);
 });
 
 
+
+
+// =============================
+//          common tasks
+// =============================
+
+gulp.task('config', [
+    'config:copy'
+]);
+
 gulp.task('default', [
     'less:compile',
     'css:copy',
     'js:copy',
-    'config:copy',
-    'folders:create'
+]);
+
+gulp.task('install', [
+    'folders:create',
+    'config',
+    'default'
 ]);
-- 
GitLab