title: gulp-assemble & gulp-watch not recompiling site when changes are made to data, includes or layouts
body: <p>I'm having issues using <code>gulp-assemble</code> with <code>gulp-watch</code>. I want <code>gulp</code> to watch the entire assemble source directory (<code>data</code>, <code>includes</code>, <code>layouts</code> and <code>pages</code>) and recompile the site when ever a file changes.</p>
  
  <p>I'm able to get this working correctly for <code>pages</code>, but <code>gulp</code> is not recompiling the site when changes are made to the <code>data</code>, <code>includes</code> or <code>layouts</code> files.</p>
  
  <p>I've added a <code>watch</code> task to the <a href="https://github.com/assemble/gulp-assemble/blob/master/gulpfile.js" rel="nofollow">example gulpfile.js</a> in the <code>gulp-assemble</code> repository:</p>
  
  <pre class="lang-js prettyprint-override"><code>var gulp = require('gulp');
  var htmlmin = require('gulp-htmlmin');
  var extname = require('gulp-extname');
  var assemble = require('assemble');
  var middleware = require('./examples/middleware');
  var gulpAssemble = require('./');
  
  // setup items on the assemble object
  assemble.data({site: {title: 'Blog'}});
  assemble.data(['test/fixtures/data/*.{json,yml}']);
  assemble.layouts(['test/fixtures/layouts/*.hbs']);
  assemble.partials(['test/fixtures/includes/*.hbs']);
  
  // arbitrary middleware that runs when files loaded
  assemble.onLoad(/index\.hbs/, middleware(assemble));
  
  // render templates in `test/fixtures`
  gulp.task('default', function () {
    gulp.src('test/fixtures/pages/*.hbs')
      .pipe(gulpAssemble(assemble, { layout: 'default' }))
      .pipe(htmlmin({collapseWhitespace: true}))
      .pipe(extname())
      .pipe(gulp.dest('_gh_pages/'));
  });
  
  // ============================================================
  // my watch task
  // ============================================================
  gulp.task('watch', ['default'], function() {
    gulp.watch('test/fixtures/**/*.{hbs,yml,json}', ['default']);
  });
  </code></pre>
  
  <p>If I run <code>gulp watch</code> and save a change to any of the <code>.hbs</code> files in the <code>pages</code> directory, I see <code>gulp</code> trigger the <code>default</code> in my terminal output, and I see the <code>.html</code> file in <code>_gh_pages</code> update with the change.</p>
  
  <p>However, if I save a change to any of the <code>.hbs</code>, <code>.json</code>, or <code>.yml</code> files in the <code>data</code>, <code>includes</code> or <code>layouts</code> directories, I see <code>gulp</code> trigger the <code>default</code> in my terminal output, but I see no changes to the <code>_gh_pages</code> <code>.html</code> file(s). I have to run the <code>gulp default</code> task manually in order to get the changes applied to the <code>_gh_pages</code> files.</p>
  
  <p>What do I need to change in order to get the desired behaviour?</p>