title: How to pass arguments to grunt task?
body: <p>I want to refactor my grunt copy task to not repeat the same files over and over for multiple sub tasks. It looks like this right now:</p>
  
  <pre><code>    "copy":
      {
          "web-debug":
          {
              files:
              [
                  { src: "libs/1st/**/*", dest: config.buildWebDebugOutPath },
                  { src: "libs/3rd/**/*", dest: config.buildWebDebugOutPath },
                  { src: "assets/**/*", dest: config.buildWebDebugOutPath },
                  { src: "shared/**/*", dest: config.buildWebDebugOutPath },
                  { src: "client/**/*", dest: config.buildWebDebugOutPath },
              ]
          },     
          "web-release":
          {
              files:
              [
                  { src: "libs/1st/**/*", dest: config.buildWebReleaseOutPath },
                  { src: "libs/3rd/**/*", dest: config.buildWebReleaseOutPath },
                  { src: "assets/**/*", dest: config.buildWebReleaseOutPath },
                  { src: "shared/**/*", dest: config.buildWebReleaseOutPath },
                  { src: "client/**/*", dest: config.buildWebReleaseOutPath },
              ]
          },        
  </code></pre>
  
  <p>Ideally, I just have one copy task that takes a path argument that I can pass to it from an alias task like this:</p>
  
  <pre><code>//
  // Let's assume I renamed "web-debug" to "web-files"
  //
  grunt.registerTask("web-debug", ["web-files:&lt;some debug path&gt;"]);
  grunt.registerTask("web-release", ["web-files:&lt;some release path&gt;"]);
  </code></pre>
  
  <p>What's the simplest way of doing this? </p>
  
  <p>How would I access this passed in argument within the task itself?</p>