title: Using Gulp and .pipe() when parameters aren't yet ready
body: <p>I'm using some Gulp plugins to help automate the building of a Cordova app. Below they are the functions that start with <code>gulp_cordova_</code>. The way I understand Gulp (or node.js streams) to work is that each .pipe() is called pretty much immediately with whatever function/parameters are given. The function they each return is queued up for later execution. My problem is that I want to pass in options to <code>gulp_cordova_plugin()</code> that I don't have values for until after <code>Config.getConfig()</code> has hit an endpoint.</p>
  
  <p>Is this possible with Gulp?</p>
  
  <p>Note: <code>options</code> below is some environment information that each <code>gulp_cordova</code> plugin needs. I piggyback onto of it with the <code>config</code> key.</p>
  
  <pre><code>gulp.src(dist)
  .pipe(gulp_cordova_create(options))
  .pipe(Config.getConfig(options))
  .pipe(gulp_cordova_plugin({
      'phonegap-facebook-plugin': {
          version: '0.12.0', 
          variables: { 
              'APP_ID': options.config.app_id, 
              'APP_NAME': options.config.app_name
          }
      }
  }, options));
  .pipe(gulp_cordova_build_android(options))
  .pipe(gulp_cordova_build_ios(options));
  </code></pre>
  
  <p>I have considered writing a wrapping function that know how to use the correct values and just invokes <code>gulp_cordova_plugin</code> itself, but the problem I'm having seems like something that would have been accounted for.</p>