| <html> |
| |
| <head> |
| <meta http-equiv="Content-Language" content="en-us"> |
| <title>Copy Task</title> |
| </head> |
| |
| <body> |
| |
| <h2><a name="copy">Copy</a></h2> |
| <h3>Description</h3> |
| <p>Copies a file or Fileset to a new file or directory. Files are |
| only copied if the source file is newer than the destination file, |
| or when the destination file does not exist. However, you can explicitly |
| overwrite files with the <var>overwrite</var> attribute.</p> |
| <p><a href="../CoreTypes/fileset.html">FileSet</a>s are used to select files to copy. |
| To use a fileset, the <var>todir</var> attribute must be set.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <td valign="top"><b>Attribute</b></td> |
| <td valign="top"><b>Description</b></td> |
| <td align="center" valign="top"><b>Required</b></td> |
| </tr> |
| <tr> |
| <td valign="top">file</td> |
| <td valign="top">The file to copy.</td> |
| <td valign="top" align="center">One of either <var>file</var> or |
| at least one nested fileset element.</td> |
| </tr> |
| <tr> |
| <td valign="top">preservelastmodified</td> |
| <td valign="top">Give the copied files the same last modified |
| time as the original source files. Defaults to "no". |
| [ignored on Java 1.1]</td> |
| <td valign="top" align="center">No</td> |
| </tr> |
| <tr> |
| <td valign="top">tofile</td> |
| <td valign="top">The file to copy to.</td> |
| <td valign="top" align="center" rowspan="2">With the <var>file</var> attribute, |
| either <var>tofile</var> or <var>todir</var> can be used. With nested filesets, |
| if the fileset size is greater than 1 or if the only entry in the fileset is a |
| directory or if the file attribute is already specified, only |
| <var>todir</var> is allowed</td> |
| </tr> |
| <tr> |
| <td valign="top">todir</td> |
| <td valign="top">The directory to copy to.</td> |
| </tr> |
| <tr> |
| <td valign="top">overwrite</td> |
| <td valign="top">Overwrite existing files even if the destination |
| files are newer. Defaults to "no".</td> |
| <td valign="top" align="center">No</td> |
| </tr> |
| <tr> |
| <td valign="top">filtering</td> |
| <td valign="top">Indicates whether token filtering using the global build file |
| filters should take place during the copy. Defaults to "no". |
| Nested filtersets will be used even if this value is "no"</td> |
| <td valign="top" align="center">No</td> |
| </tr> |
| <tr> |
| <td valign="top">flatten</td> |
| <td valign="top">Ignore directory structure of source directory, |
| copy all files into a single directory, specified by the <var>todir</var> |
| attribute. Defaults to "no". Note that you can achieve the |
| same effect by using a <a href="../CoreTypes/mapper.html#flatten-mapper">flatten mapper</a></td> |
| <td valign="top" align="center">No</td> |
| </tr> |
| <tr> |
| <td valign="top">includeEmptyDirs</td> |
| <td valign="top">Copy empty directories included with the nested FileSet(s). |
| Defaults to "yes".</td> |
| <td valign="top" align="center">No</td> |
| </tr> |
| </table> |
| <h3>Parameters specified as nested elements</h3> |
| |
| <h4>fileset</h4> |
| <p><a href="../CoreTypes/fileset.html">FileSets</a> are used to select files to copy. |
| To use a fileset, the <var>todir</var> attribute must be set.</p> |
| |
| <h4>mapper</h4> |
| <p>You can define file name transformations by using a nested <a |
| href="../CoreTypes/mapper.html">mapper</a> element. The default mapper used by |
| <code><copy></code> is the <a |
| href="../CoreTypes/mapper.html#identity-mapper">identity</a>.</p> |
| |
| <h4>filterset</h4> |
| <p><a href="../CoreTypes/filterset.html">Filtersets</a> are used to replace tokens in files that are copied. |
| To use a filterset just add the nested filterset elements.</P> |
| |
| |
| <h3>Examples</h3> |
| <p><b>Copy a single file</b></p> |
| <pre> |
| <copy file="myfile.txt" tofile="mycopy.txt"/> |
| </pre> |
| <p><b>Copy a file to a directory</b></p> |
| <pre> |
| <copy file="myfile.txt" todir="../some/dir/tree"/> |
| </pre> |
| <p><b>Copy a directory to another directory</b></p> |
| <pre> |
| <copy todir="../new/dir"> |
| <fileset dir="src_dir"/> |
| </copy> |
| </pre> |
| <p><b>Copy a set of files to a directory</b></p> |
| <pre> |
| <copy todir="../dest/dir" > |
| <fileset dir="src_dir" > |
| <exclude name="**/*.java"/> |
| </fileset> |
| </copy> |
| |
| <copy todir="../dest/dir" > |
| <fileset dir="src_dir" excludes="**/*.java"/> |
| </copy> |
| </pre> |
| <p><b>Copy a set of files to a directory appending |
| "<code>.bak</code>" to the file name on the fly</b></p> |
| <pre> |
| <copy todir="../backup/dir" > |
| <fileset dir="src_dir" /> |
| <mapper type="glob" from="*" to="*.bak"/> |
| </copy> |
| </pre> |
| |
| |
| <p><b>Copy a set of files to a replacing @TITLE@ with Foo Bar in all files.</b></p> |
| <pre> |
| <copy todir="../backup/dir" > |
| <fileset dir="src_dir" /> |
| <filterset> |
| <filter token="TITLE" value="Foo Bar" /> |
| </filterset> |
| </copy> |
| </pre> |
| |
| <p><strong>Unix Note:</strong> file permissions are not retained when files |
| are copied; they end up with the default UMASK permissions instead. This |
| is caused by the lack of any means to query or set file permissions in the |
| current Java runtimes. If you need a permission preserving copy function, |
| use <exec executable="cp" ... > instead. |
| |
| <hr><p align="center">Copyright © 2001 Apache Software Foundation. All rights |
| Reserved.</p> |
| |
| </body> |
| </html> |
| |