org.apache.tools.ant.taskdefs
Class Sync

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.Sync
All Implemented Interfaces:
java.lang.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
 
Constructor Summary
Sync()
           
 
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(java.io.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, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, 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, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Sync

public Sync()
Method Detail

init

public void init()
          throws BuildException
Initialize the sync task.

Overrides:
init in class Task
Throws:
BuildException - if there is a problem.
See Also:
Task.init()

execute

public void execute()
             throws BuildException
Execute the sync task.

Overrides:
execute in class Task
Throws:
BuildException - if there is an error.
See Also:
Task.execute()

setTodir

public void setTodir(java.io.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.

setOverwrite

public void setOverwrite(boolean overwrite)
Overwrite any existing destination file(s).

Parameters:
overwrite - if true overwrite any existing destination file(s).

setIncludeEmptyDirs

public void setIncludeEmptyDirs(boolean includeEmpty)
Used to copy empty directories.

Parameters:
includeEmpty - If true copy empty directories.

setFailOnError

public void setFailOnError(boolean failonerror)
If false, note errors to the output but keep going.

Parameters:
failonerror - true or false

addFileset

public void addFileset(FileSet set)
Adds a set of files to copy.

Parameters:
set - a fileset

add

public void add(ResourceCollection rc)
Adds a collection of filesystem resources to copy.

Parameters:
rc - a resource collection
Since:
Ant 1.7

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

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