org.apache.tools.ant.taskdefs
public class Copy extends Task
This implementation is based on Arnout Kuiper's initial design document, the following mailing list discussions, and the copyfile/copydir tasks.
Since: Ant 1.2
UNKNOWN: category="filesystem"
Field Summary | |
---|---|
protected Hashtable | completeDirMap |
protected File | destDir |
protected File | destFile |
protected Hashtable | dirCopyMap |
protected boolean | failonerror |
protected File | file |
protected Hashtable | fileCopyMap |
protected Vector | filesets |
protected FileUtils | fileUtils |
protected boolean | filtering |
protected boolean | flatten |
protected boolean | forceOverwrite |
protected boolean | includeEmpty |
protected Mapper | mapperElement |
protected boolean | preserveLastModified |
protected Vector | rcs |
protected int | verbosity |
Constructor Summary | |
---|---|
Copy()
Copy task constructor. |
Method Summary | |
---|---|
void | add(ResourceCollection res)
Add a collection of files to copy. |
void | add(FileNameMapper fileNameMapper)
Add a nested filenamemapper. |
void | addFileset(FileSet set)
Add a set of files to copy. |
protected void | buildMap(File fromDir, File toDir, String[] names, FileNameMapper mapper, Hashtable map)
Add to a map of files/directories to copy.
|
protected Map | buildMap(Resource[] fromResources, File toDir, FileNameMapper mapper)
Create a map of resources to copy.
|
FilterChain | createFilterChain()
Add a FilterChain. |
FilterSet | createFilterSet()
Add a filterset. |
Mapper | createMapper()
Define the mapper to map source to destination files. |
protected void | doFileOperations()
Actually does the file (and possibly empty directory) copies.
|
protected void | doResourceOperations(Map map)
Actually does the resource copies.
|
void | execute()
Perform the copy operation. |
String | getEncoding()
Get the character encoding to be used. |
protected FileUtils | getFileUtils()
Get the FileUtils for this task. |
protected Vector | getFilterChains()
Get the filterchains being applied to this operation.
|
protected Vector | getFilterSets()
Get the filtersets being applied to this operation.
|
String | getOutputEncoding()
Get the character encoding for output files. |
boolean | getPreserveLastModified()
Get whether to give the copied files the same last modified time as
the original files. |
boolean | isEnableMultipleMapping()
Get whether multiple mapping is enabled. |
protected void | scan(File fromDir, File toDir, String[] files, String[] dirs)
Compares source files to destination files to see if they should be
copied.
|
protected Map | scan(Resource[] fromResources, File toDir)
Compares source resources to destination files to see if they
should be copied.
|
void | setEnableMultipleMappings(boolean enableMultipleMappings)
Set method of handling mappers that return multiple
mappings for a given source path. |
void | setEncoding(String encoding)
Set the character encoding. |
void | setFailOnError(boolean failonerror)
Set whether to fail when errors are encountered. |
void | setFile(File file)
Set a single source file to copy. |
void | setFiltering(boolean filtering)
Set filtering mode. |
void | setFlatten(boolean flatten)
Set whether files copied from directory trees will be "flattened"
into a single directory. |
void | setGranularity(long granularity)
Set the number of milliseconds leeway to give before deciding a
target is out of date.
|
void | setIncludeEmptyDirs(boolean includeEmpty)
Set whether to copy empty directories. |
void | setOutputEncoding(String encoding)
Set the character encoding for output files. |
void | setOverwrite(boolean overwrite)
Set overwrite mode regarding existing destination file(s). |
void | setPreserveLastModified(String preserve)
Give the copied files the same last modified time as the original files. |
void | setPreserveLastModified(boolean preserve)
Give the copied files the same last modified time as the original files. |
void | setTodir(File destDir)
Set the destination directory. |
void | setTofile(File destFile)
Set the destination file. |
void | setVerbose(boolean verbose)
Set verbose mode. |
protected boolean | supportsNonFileResources()
Whether this task can deal with non-file resources.
|
protected void | validateAttributes()
Ensure we have a consistent and legal set of attributes, and set
any internal flags necessary based on different combinations
of attributes. |
Parameters: res a resource collection to copy.
Since: Ant 1.7
Parameters: fileNameMapper the mapper to add.
Since: Ant 1.6.3
Parameters: set a set of files to copy.
Parameters: fromDir the source directory. toDir the destination directory. names a list of filenames. mapper a FileNameMapper
value. map a map of source file to array of destination files.
Parameters: fromResources The source resources. toDir the destination directory. mapper a FileNameMapper
value.
Returns: a map of source resource to array of destination files.
Since: Ant 1.7
Returns: a filter chain object.
Returns: a filter set object.
Returns: a mapper to be configured.
Throws: BuildException if more than one mapper is defined.
Parameters: map a map of source resource to array of destination files.
Since: Ant 1.7
Throws: BuildException if an error occurs.
Returns: the character encoding, null
if not set.
Since: 1.32, Ant 1.5
Returns: the fileutils object.
Returns: a vector of FilterChain objects.
Returns: a vector of FilterSet objects.
Returns: the character encoding for output files,
null
if not set.
Since: Ant 1.6
Returns: the whether destination files will inherit the modification times of the corresponding source files.
Since: 1.32, Ant 1.5
Returns: true if multiple mapping is enabled; false otherwise.
Parameters: fromDir The source directory. toDir The destination directory. files A list of files to copy. dirs A list of directories to copy.
Parameters: fromResources The source resources. toDir The destination directory.
Returns: a Map with the out-of-date resources as keys and an array of target file names as values.
Since: Ant 1.7
Parameters: enableMultipleMappings If true the task will copy to all the mappings for a given source path, if false, only the first file or directory is processed. By default, this setting is false to provide backward compatibility with earlier releases.
Since: Ant 1.6
Parameters: encoding the character encoding.
Since: 1.32, Ant 1.5
Parameters: failonerror true or false.
Parameters: file the file to copy.
Parameters: filtering if true enable filtering; default is false.
Parameters: flatten if true flatten the destination directory. Default is false.
Default is 1 second, or 2 seconds on DOS systems.
Parameters: granularity the granularity used to decide if a target is out of date.
Since: Ant 1.6.2
Parameters: includeEmpty if true copy empty directories. Default is true.
Parameters: encoding the output character encoding.
Since: Ant 1.6
Parameters: overwrite if true force overwriting of destination file(s) even if the destination file(s) are younger than the corresponding source file. Default is false.
Deprecated: since 1.5.x. setPreserveLastModified(String) has been deprecated and replaced with setPreserveLastModified(boolean) to consistently let the Introspection mechanism work.
Give the copied files the same last modified time as the original files.Parameters: preserve a boolean string.
Parameters: preserve if true preserve the modified time; default is false.
Parameters: destDir the destination directory.
Parameters: destFile the file to copy to.
Parameters: verbose whether to output the names of copied files. Default is false.
<copy> can while <move> can't since we don't know how to remove non-file resources.
This implementation returns true only if this task is <copy>. Any subclass of this class that also wants to support non-file resources needs to override this method. We need to do so for backwards compatibility reasons since we can't expect subclasses to support resources.
Returns: true if this task supports non file resources.
Since: Ant 1.7
Throws: BuildException if an error occurs.