diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/manual/Tasks/copy.html')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/manual/Tasks/copy.html | 376 |
1 files changed, 0 insertions, 376 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/manual/Tasks/copy.html b/framework/src/ant/apache-ant-1.9.6/manual/Tasks/copy.html deleted file mode 100644 index d1b8ff2a..00000000 --- a/framework/src/ant/apache-ant-1.9.6/manual/Tasks/copy.html +++ /dev/null @@ -1,376 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<html> - -<head> -<meta http-equiv="Content-Language" content="en-us"> -<link rel="stylesheet" type="text/css" href="../stylesheets/style.css"> -<title>Copy Task</title> -</head> - -<body> - -<h2><a name="copy">Copy</a></h2> -<h3>Description</h3> -<p>Copies a file or resource collection to a new file or directory. By default, 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 <code>overwrite</code> attribute.</p> - -<p><a href="../Types/resources.html#collection">Resource -Collection</a>s are used to select a group of files to copy. To use a -resource collection, the <code>todir</code> attribute must be set. -<strong>Note</strong> that some resources (for example -the <a href="../Types/resources.html#file">file</a> resource) -return absolute paths as names and the result of using them without -using a nested mapper (or the flatten attribute) may not be what you -expect.</p> - -<p> -<strong>Note: </strong>If you employ filters in your copy operation, -you should limit the copy to text files. Binary files will be corrupted -by the copy operation. -This applies whether the filters are implicitly defined by the -<a href="filter.html">filter</a> task or explicitly provided to the copy -operation as <a href="../Types/filterset.html">filtersets</a>. - <em>See <a href="#encoding">encoding note</a></em>. -</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">Yes, unless a nested - resource collection element is used.</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.</td> - <td valign="top" align="center">No; defaults to false.</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 <code>file</code> - attribute, either <code>tofile</code> or <code>todir</code> can be used.<br/> - - With nested resource collection elements, if the number of - included resources - is greater than 1, or if only the <code>dir</code> attribute is - specified in the <code><fileset></code>, or if the - <code>file</code> attribute is also specified, then only - <code>todir</code> is allowed.<br/> - <em>Prior to Apache Ant 1.8.2</em> the <code>tofile</code> attribute - only supported filesystem resources top copy from.</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.</td> - <td valign="top" align="center">No; defaults to false.</td> - </tr> - <tr> - <td valign="top">force</td> - <td valign="top">Overwrite read-only destination - files. <em>since Ant 1.8.2</em></td> - <td valign="top" align="center">No; defaults to false.</td> - </tr> - <tr> - <td valign="top">filtering</td> - <td valign="top">Indicates whether token filtering using the <a href="../using.html#filters">global - build-file filters</a> should take place during the copy. - <em>Note</em>: Nested <code><filterset></code> elements will - always be used, even if this attribute is not specified, or its value is - <code>false</code> (<code>no</code>, or <code>off</code>).</td> - <td valign="top" align="center">No; defaults to false.</td> - </tr> - <tr> - <td valign="top">flatten</td> - <td valign="top">Ignore the directory structure of the source files, - and copy all files into the directory specified by the <code>todir</code> - attribute. Note that you can achieve the same effect by using a - <a href="../Types/mapper.html#flatten-mapper">flatten mapper</a>.</td> - <td valign="top" align="center">No; defaults to false.</td> - </tr> - <tr> - <td valign="top">includeEmptyDirs</td> - <td valign="top">Copy any empty directories included in the FileSet(s). - </td> - <td valign="top" align="center">No; defaults to true.</td> - </tr> - <tr> - <td valign="top">failonerror</td> - <td valign="top">If false, log a warning message, but do not stop the - build, when the file to copy does not exist or one of the nested - filesets points to a directory that doesn't exist or an error occurs - while copying. - </td> - <td valign="top" align="center">No; defaults to true.</td> - </tr> - <tr> - <td valign="top">quiet</td> - <td valign="top">If true and failonerror is false, then do not log a - warning message when the file to copy does not exist or one of the nested - filesets points to a directory that doesn't exist or an error occurs - while copying. <em>since Ant 1.8.3</em>. - </td> - <td valign="top" align="center">No; defaults to false.</td> - </tr> - <tr> - <td valign="top">verbose</td> - <td valign="top">Log the files that are being copied.</td> - <td valign="top" align="center">No; defaults to false.</td> - </tr> - <tr> - <td valign="top">encoding</td> - <td valign="top">The encoding to assume when filter-copying the - files. <em>since Ant 1.5</em>.</td> - <td align="center">No - defaults to default JVM encoding</td> - </tr> - <tr> - <td valign="top">outputencoding</td> - <td valign="top">The encoding to use when writing the files. - <em>since Ant 1.6</em>.</td> - <td align="center">No - defaults to the value of the encoding - attribute if given or the default JVM encoding otherwise.</td> - </tr> - <tr> - <td valign="top">enablemultiplemappings</td> - <td valign="top"> - If true the task will process to all the mappings for a - given source path. If false the task will only process - the first file or directory. This attribute is only relevant - if there is a mapper subelement. - <em>since Ant 1.6</em>.</td> - <td align="center">No - defaults to false.</td> - </tr> - <tr> - <td valign="top">granularity</td> - <td valign="top">The number of milliseconds leeway to give before - deciding a file is out of date. This is needed because not every - file system supports tracking the last modified time to the - millisecond level. Default is 1 second, or 2 seconds on DOS - systems. This can also be useful if source and target files live - on separate machines with clocks being out of sync. <em>since Ant - 1.6.2</em>.</td> - <td align="center">No</td> - </tr> -</table> -<h3>Parameters specified as nested elements</h3> - -<h4>fileset or any other resource collection</h4> -<p><a href="../Types/resources.html#collection">Resource -Collection</a>s are used to select groups of files to copy. To use a -resource collection, the <code>todir</code> attribute must be set.</p> -<p>Prior to Ant 1.7 only <code><fileset></code> has been -supported as a nested element.</p> - -<h4>mapper</h4> - <p>You can define filename transformations by using a nested <a - href="../Types/mapper.html">mapper</a> element. The default mapper used by - <code><copy></code> is the <a - href="../Types/mapper.html#identity-mapper">identity mapper</a>.</p> - <p> - <em>Since Ant 1.6.3</em>, - one can use a filenamemapper type in place of the mapper element. - </p> - -<p>Note that the source name handed to the mapper depends on the -resource collection you use. If you use <code><fileset></code> -or any other collection that provides a base directory, the name -passed to the mapper will be a relative filename, relative to the base -directory. In any other case the absolute filename of the source will -be used.</p> - -<h4>filterset</h4> - <p><a href="../Types/filterset.html">FilterSet</a>s are used to replace -tokens in files that are copied. - To use a FilterSet, use the nested <code><filterset></code> element.</p> - -<p>It is possible to use more than one filterset.</p> - -<h4>filterchain</h4> -<p>The Copy task supports nested <a href="../Types/filterchain.html"> -FilterChain</a>s.</p> - -<p> -If <code><filterset></code> and <code><filterchain></code> elements are used inside the -same <code><copy></code> task, all <code><filterchain></code> elements are processed first -followed by <code><filterset></code> 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 single file to a directory</b></p> -<pre> - <copy file="myfile.txt" todir="../some/other/dir"/> -</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"/> - <globmapper from="*" to="*.bak"/> - </copy> -</pre> - -<p><b>Copy a set of files to a directory, 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><b>Collect all items from the current CLASSPATH setting into a -destination directory, flattening the directory structure.</b></p> -<pre> - <copy todir="dest" flatten="true"> - <path> - <pathelement path="${java.class.path}"/> - </path> - </copy> -</pre> - -<p><b>Copies some resources to a given directory.</b></p> -<pre> - <copy todir="dest" flatten="true"> - <resources> - <file file="src_dir/file1.txt"/> - <url url="http://ant.apache.org/index.html"/> - </resources> - </copy> -</pre> - -<p>If the example above didn't use the flatten attribute, - the <code><file></code> resource would have returned its full - path as source and target name and would not have been copied at - all. In general it is a good practice to use an explicit mapper - together with resources that use an absolute path as their - names.</p> - -<p><b>Copies the two newest resources into a destination directory.</b></p> -<pre> - <copy todir="dest" flatten="true"> - <first count="2"> - <sort> - <date xmlns="antlib:org.apache.tools.ant.types.resources.comparators"/> - <resources> - <file file="src_dir/file1.txt"/> - <file file="src_dir/file2.txt"/> - <file file="src_dir/file3.txt"/> - <url url="http://ant.apache.org/index.html"/> - </resources> - </sort> - </first> - </copy> -</pre> - -<p>The paragraph following the previous example applies to this - example as well.</p> - -<p><strong>Unix Note:</strong> File permissions are not retained when files -are copied; they end up with the default <code>UMASK</code> 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 <code><exec executable="cp" ... ></code> instead. -</p> - -<p><strong>Windows Note:</strong> If you copy a file to a directory -where that file already exists, but with different casing, -the copied file takes on the case of the original. The workaround is to -<a href="delete.html">delete</a> -the file in the destination directory before you copy it. -</p> - <p> - <strong><a name="encoding">Important Encoding Note:</a></strong> - The reason that binary files when filtered get corrupted is that - filtering involves reading in the file using a Reader class. This - has an encoding specifying how files are encoded. There are a number - of different types of encoding - UTF-8, UTF-16, Cp1252, ISO-8859-1, - US-ASCII and (lots) others. On Windows the default character encoding - is Cp1252, on Unix it is usually UTF-8. For both of these encoding - there are illegal byte sequences (more in UTF-8 than for Cp1252). - </p> - <p> - How the Reader class deals with these illegal sequences is up to the - implementation - of the character decoder. The current Sun Java implementation is to - map them to legal characters. Previous Sun Java (1.3 and lower) threw - a MalformedInputException. IBM Java 1.4 also throws this exception. - It is the mapping of the characters that cause the corruption. - </p> - <p> - On Unix, where the default is normally UTF-8, this is a <em>big</em> - problem, as it is easy to edit a file to contain non US Ascii characters - from ISO-8859-1, for example the Danish oe character. When this is - copied (with filtering) by Ant, the character get converted to a - question mark (or some such thing). - </p> - <p> - There is not much that Ant can do. It cannot figure out which - files are binary - a UTF-8 version of Korean will have lots of - bytes with the top bit set. It is not informed about illegal - character sequences by current Sun Java implementions. - </p> - <p> - One trick for filtering containing only US-ASCII is to - use the ISO-8859-1 encoding. This does not seem to contain - illegal character sequences, and the lower 7 bits are US-ASCII. - Another trick is to change the LANG environment variable from - something like "us.utf8" to "us". - </p> - - - - -</body></html> |