title: Gulp task outputs fine when run manually, fails to output when used in gulp.watch
body: <p>I have a gulp task that performs some pretty common tasks - it runs jshint to validate my code, then concats and minimizes the files and outputs them into single .min.js files.</p>
  
  <p>The task (appears) to execute flawlessly when I run it manually.  But the second I try to use it in a $gulp.watch it no longer outputs my file (it still executes and executes jshint though).</p>
  
  <p>The code in my task:</p>
  
  <pre><code>gulp.src(path.join(workingPath, folder, '/*.js'))
          .pipe(jshint())
          .pipe(jshint.reporter(stylish))
          .pipe(jshint.reporter('fail'))     //stop build if errors found
          .on('error', function() {
              console.log("Please review and correct jshint errors.");
              this.end();
          })
          .pipe(order([                      //order files before concat - ensure module definitions are first
              "*.module.js",
              "*.js"
          ]))
          .pipe(concat(filename+'.js'))
          .pipe(gulp.dest(destinationPath))   //full combined version
          .pipe(uglify())
          .pipe(rename(filename+'.min.js'))
          .pipe(gulp.dest(destinationPath))  //minified combined version
          .on('error',function() {
              console.log("An error occurred during Gulp processing.");
              this.end();
          });
  </code></pre>
  
  <p>My gulp watch (the task is named 'components'):</p>
  
  <pre><code>  gulp.watch(componentsBasePath+"/**/*.js",['components']);
  </code></pre>
  
  <p>One thing that I've noticed though is at the end of the manual run I see "Process finished with exit code..".  And if I kill my gulp.watch it outputs "Process finished with exit code.." - then it DOES creates the output files!</p>
  
  <p>My goal is to have my 'components' task create those output files every time it is triggered by the watch - not just when I kill the watch.  </p>
  
  <p>Thank you!<br/>
  Cliff</p>