public class Symlink extends DispatchTask
This task performs several related operations. In the most trivial and default usage, it creates a link specified in the link attribute to a resource specified in the resource attribute. The second usage of this task is to traverse a directory structure specified by a fileset, and write a properties file in each included directory describing the links found in that directory. The third usage is to traverse a directory structure specified by a fileset, looking for properties files (also specified as included in the fileset) and recreate the links that have been previously recorded for each directory. Finally, it can be used to remove a symlink without deleting the associated resource.
Usage examples:
Make a link named "foo" to a resource named "bar.foo" in subdir:
 <symlink link="${dir.top}/foo" resource="${dir.top}/subdir/bar.foo"/>
 
 Record all links in subdir and its descendants in files named "dir.links":
 <symlink action="record" linkfilename="dir.links">
    <fileset dir="${dir.top}" includes="subdir/**" />
 </symlink>
 
 Recreate the links recorded in the previous example:
 <symlink action="recreate">
    <fileset dir="${dir.top}" includes="subdir/**/dir.links" />
 </symlink>
 
 Delete a link named "foo" to a resource named "bar.foo" in subdir:
 <symlink action="delete" link="${dir.top}/foo"/>
 
 LIMITATIONS: Because Java has no direct support for
 handling symlinks this task divines them by comparing canonical and
 absolute paths. On non-unix systems this may cause false positives.
 Furthermore, any operating system on which the command
 ln -s link resource is not a valid command on the command line
 will not be able to use action="delete", action="single"
 or action="recreate", but action="record" should still
 work. Finally, the lack of support for symlinks in Java means that all links
 are recorded as links to the canonical resource name.
 Therefore the link: link --> subdir/dir/../foo.bar will be
 recorded as link=subdir/foo.bar and restored as
 link --> subdir/foo.bar.
| Constructor and Description | 
|---|
| Symlink() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addFileset(FileSet set)Add a fileset to this task. | 
| void | delete()Delete a symlink. | 
| void | execute()The standard method for executing any task. | 
| void | init()Initialize the task. | 
| void | record()Record symlinks. | 
| void | recreate()Restore symlinks. | 
| void | setAction(String action)Set the action to be performed. | 
| void | setFailOnError(boolean foe)Set failonerror mode. | 
| void | setLink(String lnk)Set the name of the link. | 
| void | setLinkfilename(String lf)Set the name of the file to which links will be written. | 
| void | setOverwrite(boolean owrite)Set overwrite mode. | 
| void | setResource(String src)Set the name of the resource to which a link should be created. | 
| void | single()Create a symlink. | 
getAction, getActionParameterNamebindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeclone, getDescription, getLocation, getProject, setDescription, setLocation, setProjectpublic void addFileset(FileSet set)
set - The fileset to add.public void delete()
            throws BuildException
BuildException - on error.public void execute()
             throws BuildException
execute in class TaskBuildException - on error.public void init()
          throws BuildException
init in class TaskBuildException - on error.public void record()
            throws BuildException
BuildException - on error.public void recreate()
              throws BuildException
BuildException - on error.public void setAction(String action)
setAction in class DispatchTaskaction - The action to perform.public void setFailOnError(boolean foe)
foe - If true throw BuildException on error, else log it.public void setLink(String lnk)
lnk - The name for the link.public void setLinkfilename(String lf)
lf - The name of the file to write links to.public void setOverwrite(boolean owrite)
owrite - If true overwrite existing links.public void setResource(String src)
src - The resource to be linked.public void single()
            throws BuildException
BuildException - on error.