org.apache.tools.ant.taskdefs

Class Sync

Implemented Interfaces:
Cloneable

public class Sync
extends Task

Synchronize a local target directory from the files defined in one or more filesets.

Uses a <copy> task internally, but forbidding the use of mappers and filter chains. Files of the destination directory not present in any of the source fileset are removed.

Since:
Ant 1.6 revised by Dan Armbrust to remove orphaned directories.

Nested Class Summary

static class
Sync.MyCopy
Subclass Copy in order to access it's file/dir maps.
static class
Sync.SyncTarget
Inner class used to hold exclude patterns and selectors to save stuff that happens to live in the target directory but should not get removed.

Field Summary

Fields inherited from class org.apache.tools.ant.Task

target, taskName, taskType, wrapper

Fields inherited from class org.apache.tools.ant.ProjectComponent

description, location, project

Method Summary

void
add(ResourceCollection rc)
Adds a collection of filesystem resources to copy.
void
addFileset(FileSet set)
Adds a set of files to copy.
void
addPreserveInTarget(Sync.SyncTarget s)
A container for patterns and selectors that can be used to specify files that should be kept in the target even if they are not present in any source directory.
void
execute()
Execute the sync task.
void
init()
Initialize the sync task.
void
setFailOnError(boolean failonerror)
If false, note errors to the output but keep going.
void
setGranularity(long granularity)
The number of milliseconds leeway to give before deciding a target is out of date.
void
setIncludeEmptyDirs(boolean includeEmpty)
Used to copy empty directories.
void
setOverwrite(boolean overwrite)
Overwrite any existing destination file(s).
void
setTodir(File destDir)
Sets the destination directory.
void
setVerbose(boolean verbose)
Used to force listing of all names of copied files.

Methods inherited from class org.apache.tools.ant.Task

bindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

Methods inherited from class org.apache.tools.ant.ProjectComponent

clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject

Method Details

add

public void add(ResourceCollection rc)
Adds a collection of filesystem resources to copy.
Parameters:
rc - a resource collection
Since:
Ant 1.7

addFileset

public void addFileset(FileSet set)
Adds a set of files to copy.
Parameters:
set - a fileset

addPreserveInTarget

public void addPreserveInTarget(Sync.SyncTarget s)
A container for patterns and selectors that can be used to specify files that should be kept in the target even if they are not present in any source directory.

You must not invoke this method more than once.

Parameters:
s - a preserveintarget nested element
Since:
Ant 1.7

execute

public void execute()
            throws BuildException
Execute the sync task.
Overrides:
execute in interface Task
Throws:
BuildException - if there is an error.

init

public void init()
            throws BuildException
Initialize the sync task.
Overrides:
init in interface Task
Throws:
BuildException - if there is a problem.
See Also:
Task.init()

setFailOnError

public void setFailOnError(boolean failonerror)
If false, note errors to the output but keep going.
Parameters:
failonerror - true or false

setGranularity

public void setGranularity(long granularity)
The number of milliseconds leeway to give before deciding a target is out of date.

Default is 0 milliseconds, or 2 seconds on DOS systems.

Parameters:
granularity - a long value
Since:
Ant 1.6.2

setIncludeEmptyDirs

public void setIncludeEmptyDirs(boolean includeEmpty)
Used to copy empty directories.
Parameters:
includeEmpty - If true copy empty directories.

setOverwrite

public void setOverwrite(boolean overwrite)
Overwrite any existing destination file(s).
Parameters:
overwrite - if true overwrite any existing destination file(s).

setTodir

public void setTodir(File destDir)
Sets the destination directory.
Parameters:
destDir - the destination directory

setVerbose

public void setVerbose(boolean verbose)
Used to force listing of all names of copied files.
Parameters:
verbose - if true force listing of all names of copied files.