11'use strict' ;
22
33var autoprefixer = require ( 'gulp-autoprefixer' ) ;
4+ var del = require ( 'del' ) ;
45var format = require ( 'gulp-clang-format' ) ;
56var fork = require ( 'child_process' ) . fork ;
67var gulp = require ( 'gulp' ) ;
@@ -81,9 +82,11 @@ var CONFIG = {
8182// ------------
8283// clean
8384
84- gulp . task ( 'build/clean.tools' , clean ( gulp , gulpPlugins , {
85- path : path . join ( 'dist' , 'tools' )
86- } ) ) ;
85+ gulp . task ( 'build/clean.tools' , function ( ) {
86+ if ( rebuildTools && 'AngularBuilder' in global ) {
87+ del ( path . join ( 'dist' , 'tools' ) ) ;
88+ } ;
89+ } ) ;
8790
8891gulp . task ( 'build/clean.js' , clean ( gulp , gulpPlugins , {
8992 path : CONFIG . dest . js . all
@@ -330,8 +333,17 @@ gulp.task('test.unit.cjs/ci', function(done) {
330333} ) ;
331334
332335
333- gulp . task ( 'test.unit.cjs' , [ 'test.unit.cjs/ci' ] , function ( ) {
334- gulp . watch ( 'modules/**' , [ 'test.unit.cjs/ci' ] ) ;
336+ gulp . task ( 'test.unit.cjs' , [ 'build/clean.js' ] , function ( done ) {
337+ function buildAndTest ( ) {
338+ runSequence (
339+ 'build.js.cjs' ,
340+ 'test.unit.cjs/ci'
341+ ) ;
342+ }
343+
344+ buildAndTest ( ) ;
345+
346+ gulp . watch ( 'modules/**' , buildAndTest ) ;
335347} ) ;
336348
337349
@@ -343,6 +355,8 @@ gulp.task('test.unit.tools/ci', function(done) {
343355
344356
345357gulp . task ( 'test.unit.tools' , function ( done ) {
358+ rebuildTools = true ;
359+
346360 function buildAndTest ( ) {
347361 runSequence (
348362 'build.tools' ,
@@ -355,6 +369,7 @@ gulp.task('test.unit.tools', function(done) {
355369 gulp . watch ( 'tools/**' , buildAndTest ) ;
356370} ) ;
357371
372+
358373// ------------------
359374// server tests
360375// These tests run on the VM on the command-line and are
@@ -451,8 +466,12 @@ gulp.task('build.dart', function(done) {
451466} ) ;
452467
453468
469+ var rebuildTools = false ;
470+
454471gulp . task ( 'build.tools' , [ 'build/clean.tools' ] , function ( ) {
455- var mergedStream ;
472+ if ( ! rebuildTools && angularBuilder . rebuildNodeTree !== throwToolsBuildMissingError ) {
473+ return ;
474+ }
456475
457476 var tsResult = gulp . src ( 'tools/**/*.ts' )
458477 . pipe ( sourcemaps . init ( ) )
@@ -465,7 +484,7 @@ gulp.task('build.tools', ['build/clean.tools'], function() {
465484
466485 var destDir = gulp . dest ( 'dist/tools/' ) ;
467486
468- mergedStream = merge2 ( [
487+ var mergedStream = merge2 ( [
469488 tsResult . js . pipe ( sourcemaps . write ( '.' ) ) . pipe ( destDir ) ,
470489 tsResult . js . pipe ( destDir )
471490 ] ) . on ( 'end' , function ( ) {
0 commit comments