title: Programmatically pass arguments to grunt task?
body: <p>I have a grunt task that calls other grunt tasks. I want to call a subtask with programmatically determined arguments. Is this possible? I spent some time digging around the <strong>lib/grunt.js</strong> and <strong>lib/grunt/task.js</strong>, but couldn't figure it out.</p>
  
  <p>I'm using <code>grunt-compass</code> with the following arguments specified in <strong>Gruntfile.js</strong>:</p>
  
  <pre><code>compass: {
    default_options: {
      src: 'components/201',
      dest: 'build',
      require: ['zurb-foundation']
    }
  }
  </code></pre>
  
  <p>I want to be able to override them at runtime:</p>
  
  <p><strong>tasks/my-task.js</strong>:</p>
  
  <pre><code>// simplified example
  module.exports = function(grunt) {
    grunt.registerTask('foo', 'bar', function() {
      var chooseDest = doWork();
      grunt.task.run('compass', {src: 'src', dest: chooseDest});
    });
  };
  </code></pre>
  
  <p>For reference:</p>
  
  <pre><code>$ grunt --version
  grunt-cli v0.1.6
  grunt v0.4.0rc6
  </code></pre>