You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
3.2 KiB

  1. # grunt-contrib-copy [![Build Status](https://secure.travis-ci.org/gruntjs/grunt-contrib-copy.png?branch=master)](http://travis-ci.org/gruntjs/grunt-contrib-copy)
  2. > Copy files and folders.
  3. ## Getting Started
  4. This plugin requires Grunt `~0.4.0`
  5. If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
  6. ```shell
  7. npm install grunt-contrib-copy --save-dev
  8. ```
  9. Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
  10. ```js
  11. grunt.loadNpmTasks('grunt-contrib-copy');
  12. ```
  13. *This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that [you upgrade](http://gruntjs.com/upgrading-from-0.3-to-0.4), but in case you can't please use [v0.3.2](https://github.com/gruntjs/grunt-contrib-copy/tree/grunt-0.3-stable).*
  14. ## Copy task
  15. _Run this task with the `grunt copy` command._
  16. Task targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide.
  17. ### Options
  18. #### processContent
  19. Type: `Function(content, srcpath)`
  20. This option is passed to `grunt.file.copy` as an advanced way to control the file contents that are copied.
  21. #### processContentExclude
  22. Type: `String`
  23. This option is passed to `grunt.file.copy` as an advanced way to control which file contents are processed.
  24. ### Usage Examples
  25. ```js
  26. copy: {
  27. main: {
  28. files: [
  29. {src: ['path/*'], dest: 'dest/', filter: 'isFile'}, // includes files in path
  30. {src: ['path/**'], dest: 'dest/'}, // includes files in path and its subdirs
  31. {expand: true, cwd: 'path/', src: ['**'], dest: 'dest/'}, // makes all src relative to cwd
  32. {expand: true, flatten: true, src: ['path/**'], dest: 'dest/', filter: 'isFile'} // flattens results to a single level
  33. ]
  34. }
  35. }
  36. ```
  37. ## Release History
  38. * 2013-02-14   v0.4.0   First official release for Grunt 0.4.0.
  39. * 2013-01-22   v0.4.0rc7   Updating grunt/gruntplugin dependencies to rc7. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions.
  40. * 2013-01-13   v0.4.0rc5   Updating to work with grunt v0.4.0rc5. Conversion to grunt v0.4 conventions. Replace basePath with cwd. Empty directory support.
  41. * 2012-10-17   v0.3.2   Pass copyOptions on single file copy.
  42. * 2012-10-11   v0.3.1   Rename grunt-contrib-lib dep to grunt-lib-contrib.
  43. * 2012-09-23   v0.3.0   General cleanup and consolidation. Global options depreciated.
  44. * 2012-09-17   v0.2.4   No valid source check.
  45. * 2012-09-16   v0.2.3   Path.sep fallback for node <= 0.7.9.
  46. * 2012-09-16   v0.2.2   Single file copy support. Test refactoring.
  47. * 2012-09-06   v0.2.0   Refactored from grunt-contrib into individual repo.
  48. ---
  49. Task submitted by [Chris Talkington](http://christalkington.com/)
  50. *This file was generated on Fri Feb 22 2013 09:26:58.*