@@ -8,7 +8,6 @@ const path = require('path');
88const fs = require ( 'fs' ) ;
99const assert = require ( 'assert' ) ;
1010const runSequence = require ( 'run-sequence' ) ;
11- const gulpWatcher = require ( './tasks/gulpWatcher' ) ;
1211
1312//Error.stackTraceLimit = Infinity;
1413//require('trace');
@@ -20,25 +19,12 @@ process.on('uncaughtException', function(err) {
2019 process . exit ( 255 ) ;
2120} ) ;
2221
23- gulp . executing = [ ] ;
24-
25- gulp . on ( 'task_start' , function ( msg ) {
26- gulp . executing . push ( msg . task ) ;
27- } ) ;
28-
29- gulp . on ( 'task_stop' , function ( msg ) {
30- gulp . executing . splice ( gulp . executing . indexOf ( msg . task ) , 1 ) ;
31- // console.log(gulp.executing.join(','));
32- } ) ;
33-
34-
3522const jsSources = [
3623 'hmvc/**/*.js' , 'modules/**/*.js' , 'tasks/**/*.js' , '*.js'
3724] ;
3825
3926function lazyRequireTask ( path ) {
4027 var args = [ ] . slice . call ( arguments , 1 ) ;
41-
4228 return function ( callback ) {
4329 var task = require ( path ) . apply ( this , args ) ;
4430 return task ( callback ) ;
@@ -62,18 +48,39 @@ gulp.task("client:livereload", lazyRequireTask("./tasks/livereload", { watch: "p
6248
6349gulp . task ( 'link-modules' , lazyRequireTask ( './tasks/linkModules' , { src : [ 'client' , 'modules/*' , 'hmvc/*' ] } ) ) ;
6450
65- gulp . task ( 'watch' , function ( callback ) {
66- gulpWatcher ( { root : __dirname } ) ;
67- } ) ;
68-
51+ gulp . task ( 'watch' , lazyRequireTask ( './tasks/watch' , {
52+ root : __dirname ,
53+ taskMapping : [
54+ {
55+ watch : 'assets/{fonts,img}/**' ,
56+ task : 'client:sync-resources'
57+ } ,
58+ {
59+ watch : 'styles/**/*.{png,svg,gif,jpg}' ,
60+ task : 'client:sync-css-images'
61+ } ,
62+ {
63+ watch : "styles/**/*.styl" ,
64+ task : 'client:compile-css'
65+ } ,
66+ {
67+ watch : [ 'client/**' , 'hmvc/**/client/**' ] ,
68+ task : "client:browserify"
69+ } ,
70+ {
71+ watch : 'public/{fonts,js,styles}/**' ,
72+ task : 'client:build-public-versions'
73+ }
74+ ]
75+ } ) ) ;
6976
70- gulp . task ( "client:sync-resources-once " , lazyRequireTask ( './tasks/syncResources' , {
77+ gulp . task ( "client:sync-resources" , lazyRequireTask ( './tasks/syncResources' , {
7178 'assets/fonts' : 'public/fonts' ,
7279 'assets/img' : 'public/img'
7380} ) ) ;
7481
7582
76- gulp . task ( "client:sync-css-images-once " , lazyRequireTask ( './tasks/syncCssImages' , {
83+ gulp . task ( "client:sync-css-images" , lazyRequireTask ( './tasks/syncCssImages' , {
7784 src : 'styles/**/*.{png,svg,gif,jpg}' ,
7885 dst : 'public/i'
7986} ) ) ;
@@ -86,7 +93,7 @@ gulp.task('client:clean-compiled-css', function(callback) {
8693} ) ;
8794
8895// Show errors if encountered
89- gulp . task ( 'client:compile-css-once ' ,
96+ gulp . task ( 'client:compile-css' ,
9097 [ 'client:clean-compiled-css' ] ,
9198 lazyRequireTask ( './tasks/compileCss' , {
9299 src : './styles/base.styl' ,
@@ -100,15 +107,15 @@ gulp.task('client:minify', lazyRequireTask('./tasks/minify', {
100107
101108gulp . task ( "client:browserify:clean" , lazyRequireTask ( './tasks/browserifyClean' , { dst : './public/js' } ) ) ;
102109
103- gulp . task ( "client:browserify-once " , [ 'client:browserify:clean' ] , lazyRequireTask ( './tasks/browserify' ) ) ;
110+ gulp . task ( "client:browserify" , [ 'client:browserify:clean' ] , lazyRequireTask ( './tasks/browserify' ) ) ;
104111
105- // we depend on compile-css, because if build-md5-list-once works in parallel with client:compile-css,
106- // then compile-css recreates files and build-md5-list-once misses them or errors when they are suddenly removed
107- gulp . task ( "client:build-md5-list-once " ,
108- lazyRequireTask ( './tasks/buildMd5List ' , { cwd : 'public' , src : './{fonts,js,styles}/**/*.*' , dst : './public.md5 .json' } ) ) ;
112+ // we depend on compile-css, because if build-md5-list works in parallel with client:compile-css,
113+ // then compile-css recreates files and build-md5-list misses them or errors when they are suddenly removed
114+ gulp . task ( "client:build-public-versions " ,
115+ lazyRequireTask ( './tasks/buildPublicVersions ' , { cwd : 'public' , src : './{fonts,js,styles}/**/*.*' , dst : './public.versions .json' } ) ) ;
109116
110117gulp . task ( 'build' , function ( callback ) {
111- runSequence ( 'link-modules' , "client:sync-resources-once " , 'client:compile-css-once ' , 'client:browserify-once ' , 'client:sync-css-images-once ' , 'client:build-md5-list-once ' , callback ) ;
118+ runSequence ( 'link-modules' , "client:sync-resources" , 'client:compile-css' , 'client:browserify' , 'client:sync-css-images' , 'client:build-public-versions ' , callback ) ;
112119} ) ;
113120
114121gulp . task ( 'dev' , function ( callback ) {
0 commit comments