@@ -34,11 +34,17 @@ var tasks = compilations.map(function(tsconfigFile) {
3434
3535 var globRelativeDirname = path . dirname ( tsconfigFile ) ;
3636 var name = globRelativeDirname . replace ( / \/ / g, '-' ) ;
37+
38+ // Tasks
3739 var clean = 'clean-extension:' + name ;
3840 var compile = 'compile-extension:' + name ;
39- var compileBuild = 'compile-build-extension:' + name ;
4041 var watch = 'watch-extension:' + name ;
4142
43+ // Build Tasks
44+ var cleanBuild = 'clean-extension-build:' + name ;
45+ var compileBuild = 'compile-extension-build:' + name ;
46+ var watchBuild = 'watch-extension-build:' + name ;
47+
4248 var pipeline = ( function ( ) {
4349 var reporter = quiet ? null : createReporter ( ) ;
4450 var compilation = tsb . create ( options , null , null , quiet ? null : function ( err ) { reporter ( err . toString ( ) ) ; } ) ;
@@ -91,6 +97,19 @@ var tasks = compilations.map(function(tsconfigFile) {
9197 . pipe ( gulp . dest ( out ) ) ;
9298 } ) ;
9399
100+ gulp . task ( watch , [ clean ] , function ( ) {
101+ var input = gulp . src ( src , srcOpts ) ;
102+ var watchInput = watcher ( src , srcOpts ) ;
103+
104+ return watchInput
105+ . pipe ( util . incremental ( pipeline , input ) )
106+ . pipe ( gulp . dest ( out ) ) ;
107+ } ) ;
108+
109+ gulp . task ( cleanBuild , function ( cb ) {
110+ rimraf ( out , cb ) ;
111+ } ) ;
112+
94113 gulp . task ( compileBuild , [ clean ] , function ( ) {
95114 var input = gulp . src ( src , srcOpts ) ;
96115
@@ -99,24 +118,29 @@ var tasks = compilations.map(function(tsconfigFile) {
99118 . pipe ( gulp . dest ( out ) ) ;
100119 } ) ;
101120
102- gulp . task ( watch , [ clean ] , function ( ) {
121+ gulp . task ( watchBuild , [ clean ] , function ( ) {
103122 var input = gulp . src ( src , srcOpts ) ;
104123 var watchInput = watcher ( src , srcOpts ) ;
105124
106125 return watchInput
107- . pipe ( util . incremental ( pipeline , input ) )
126+ . pipe ( util . incremental ( function ( ) { return pipeline ( true ) ; } , input ) )
108127 . pipe ( gulp . dest ( out ) ) ;
109128 } ) ;
110129
111130 return {
112131 clean : clean ,
113132 compile : compile ,
133+ watch : watch ,
134+ cleanBuild : cleanBuild ,
114135 compileBuild : compileBuild ,
115- watch : watch
136+ watchBuild : watchBuild
116137 } ;
117138} ) ;
118139
119140gulp . task ( 'clean-extensions' , tasks . map ( function ( t ) { return t . clean ; } ) ) ;
120141gulp . task ( 'compile-extensions' , tasks . map ( function ( t ) { return t . compile ; } ) ) ;
121- gulp . task ( 'compile-build-extensions' , tasks . map ( function ( t ) { return t . compileBuild ; } ) ) ;
122- gulp . task ( 'watch-extensions' , tasks . map ( function ( t ) { return t . watch ; } ) ) ;
142+ gulp . task ( 'watch-extensions' , tasks . map ( function ( t ) { return t . watch ; } ) ) ;
143+
144+ gulp . task ( 'clean-extensions-build' , tasks . map ( function ( t ) { return t . cleanBuild ; } ) ) ;
145+ gulp . task ( 'compile-extensions-build' , tasks . map ( function ( t ) { return t . compileBuild ; } ) ) ;
146+ gulp . task ( 'watch-extensions-build' , tasks . map ( function ( t ) { return t . watchBuild ; } ) ) ;
0 commit comments