@@ -503,29 +503,15 @@ gulp.task('test.unit.cjs', ['build.broccoli.tools'], function (done) {
503503} ) ;
504504
505505
506- gulp . task ( 'test.unit.broccoli' , function ( done ) {
507-
508- function buildAndTest ( ) {
509- runSequence ( 'build.broccoli.tools' , function ( ) {
510- var doneDeferred = Q . defer ( ) ;
511- var jasmineProcess = fork ( './tools/traceur-jasmine' , [ 'dist/broccoli/**/*.spec.js' ] , {
512- stdio : 'inherit'
513- } ) ;
514-
515- jasmineProcess . on ( 'close' , function ( code ) {
516- doneDeferred . resolve ( ) ;
517- } ) ;
518-
519- return doneDeferred . promise ;
520- } ) ;
521- }
522-
523- buildAndTest ( ) ;
506+ gulp . task ( 'test.unit.broccoli/ci' , [ 'build.broccoli.tools' ] , function ( done ) {
507+ fork ( './tools/traceur-jasmine' , [ 'dist/broccoli/**/*.spec.js' ] , {
508+ stdio : 'inherit'
509+ } ) . on ( 'close' , done ) ;
510+ } ) ;
524511
525- gulp . watch ( 'tools/broccoli/**' , function ( event ) {
526- buildAndTest ( ) ;
527- } ) ;
528512
513+ gulp . task ( 'test.unit.broccoli' , [ 'test.unit.broccoli/ci' ] , function ( ) {
514+ gulp . watch ( 'tools/broccoli/**' , [ 'test.unit.broccoli/ci' ] ) ;
529515} ) ;
530516
531517// ------------------
@@ -623,24 +609,28 @@ gulp.task('build.dart', function(done) {
623609} ) ;
624610
625611gulp . task ( 'build.broccoli.tools' , function ( ) {
612+ var mergedStream ;
613+
626614 var tsResult = gulp . src ( 'tools/broccoli/**/*.ts' )
627615 . pipe ( sourcemaps . init ( ) )
628- . pipe ( tsc ( { target : 'ES5' , module : 'commonjs' } ) )
629- . on ( 'error' , function ( ) {
630- console . log ( "ERROR: Broccoli tools failed to build." ) ;
631- process . exit ( 1 ) ;
616+ . pipe ( tsc ( { target : 'ES5' , module : 'commonjs' , reporter : tsc . reporter . nullReporter ( ) } ) )
617+ . on ( 'error' , function ( error ) {
618+ // gulp-typescript doesn't propagate errors from the src stream into the js stream so we are
619+ // forwarding the error into the merged stream
620+ mergedStream . emit ( 'error' , error ) ;
632621 } ) ;
633622
634623 var destDir = gulp . dest ( 'dist/broccoli' ) ;
635624
636- return merge2 ( [
625+ mergedStream = merge2 ( [
637626 tsResult . js . pipe ( sourcemaps . write ( '.' ) ) . pipe ( destDir ) ,
638627 tsResult . js . pipe ( destDir )
639628 ] ) . on ( 'end' , function ( ) {
640629 var BroccoliBuilder = require ( './dist/broccoli/broccoli_builder' ) . BroccoliBuilder ;
641630 getBroccoli = function ( ) { return BroccoliBuilder ; } ;
642631 } ) ;
643632
633+ return mergedStream ;
644634} ) ;
645635
646636gulp . task ( 'broccoli.js.dev' , [ 'build.broccoli.tools' ] , function ( ) {
0 commit comments