@@ -7,6 +7,7 @@ var argv = require('optimist').argv;
7
7
var resolve = require ( 'resolve' ) ;
8
8
var findup = require ( 'findup-sync' ) ;
9
9
var gutil = require ( 'gulp-util' ) ;
10
+ var prettyTime = require ( 'pretty-hrtime' ) ;
10
11
11
12
var tasks = argv . _ ;
12
13
var cliPkg = require ( '../package.json' ) ;
@@ -41,8 +42,9 @@ if (!localGulp) {
41
42
process . exit ( 1 ) ;
42
43
}
43
44
44
- // Mix CLI flags into gulp
45
- localGulp . env = gutil . env ;
45
+ // Wire up logging for tasks
46
+ // on local gulp singleton
47
+ logEvents ( localGulp ) ;
46
48
47
49
// Load their gulpfile and run it
48
50
gutil . log ( 'Using file' , gutil . colors . magenta ( gulpFile ) ) ;
@@ -110,3 +112,27 @@ function getGulpFile(baseDir) {
110
112
var gulpFile = findup ( "Gulpfile{" + extensions + "}" , { nocase : true } ) ;
111
113
return gulpFile ;
112
114
}
115
+
116
+ // format orchestrator errors
117
+ function formatError ( e ) {
118
+ if ( ! e . err ) return e . message ;
119
+ if ( e . err . message ) return e . err . message ;
120
+ return JSON . stringify ( e . err ) ;
121
+ }
122
+
123
+ // wire up logging events
124
+ function logEvents ( gulp ) {
125
+ gulp . on ( 'task_start' , function ( e ) {
126
+ gutil . log ( 'Running' , "'" + gutil . colors . cyan ( e . task ) + "'..." ) ;
127
+ } ) ;
128
+ gulp . on ( 'task_stop' , function ( e ) {
129
+ var time = prettyTime ( e . hrDuration ) ;
130
+ gutil . log ( 'Finished' , "'" + gutil . colors . cyan ( e . task ) + "'" , "in" , gutil . colors . magenta ( time ) ) ;
131
+ } ) ;
132
+
133
+ gulp . on ( 'task_err' , function ( e ) {
134
+ var msg = formatError ( e ) ;
135
+ var time = prettyTime ( e . hrDuration ) ;
136
+ gutil . log ( 'Errored' , "'" + gutil . colors . cyan ( e . task ) + "'" , "in" , gutil . colors . magenta ( time ) , gutil . colors . red ( msg ) ) ;
137
+ } ) ;
138
+ }
0 commit comments