code: function build(projectOptions, buildOptions, outDirsAsync) {
    return kew.all([outDirsAsync, resolveSoyInputFiles(projectOptions)])
        .then(function(results) {
          var outDirs = results[0];
          var soyInputFiles = results[1];
          return compileSoy(projectOptions, buildOptions, outDirs, soyInputFiles);
        });
  }
docs: Builds project Soy as specified in the given options, using Closure
  Templates (Soy) compiler if any Soy files are found. Note that some projects
  may have no soy files, in which case this will be a no-op.
  @param {!Object} projectOptions Specifies the project input files; see
  README.md for option documentation.
  @param {!Object} buildOptions Specifies options specific to this build (like
  debug/release); see README.md for option documentation.
  @param {!Promise.<!OutputDirs>} outDirsAsync
  @return {!Promise} Tracks success/failure.