org.apache.tools.ant.taskdefs

Class Patch

Implemented Interfaces:
Cloneable

public class Patch
extends Task

Patches a file by applying a 'diff' file to it; requires "patch" to be on the execution path.
Since:
Ant 1.1

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
execute()
execute patch
void
setBackups(boolean backups)
flag to create backups; optional, default=false
void
setDestfile(File file)
The name of a file to send the output to, instead of patching the file(s) in place; optional.
void
setDir(File directory)
The directory to run the patch command in, defaults to the project's base directory.
void
setIgnorewhitespace(boolean ignore)
flag to ignore whitespace differences; default=false
void
setOriginalfile(File file)
The file to patch; optional if it can be inferred from the diff file
void
setPatchfile(File file)
The file containing the diff output; required.
void
setQuiet(boolean q)
Work silently unless an error occurs; optional, default=false
void
setReverse(boolean r)
Assume patch was created with old and new files swapped; optional, default=false
void
setStrip(int num)
Strip the smallest prefix containing num leading slashes from filenames.

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

execute

public void execute()
            throws BuildException
execute patch
Overrides:
execute in interface Task
Throws:
BuildException - when it all goes a bit pear shaped

setBackups

public void setBackups(boolean backups)
flag to create backups; optional, default=false
Parameters:
backups - if true create backups

setDestfile

public void setDestfile(File file)
The name of a file to send the output to, instead of patching the file(s) in place; optional.
Parameters:
file - the file to send the output to
Since:
Ant 1.6

setDir

public void setDir(File directory)
The directory to run the patch command in, defaults to the project's base directory.
Parameters:
directory - the directory to run the patch command in
Since:
Ant 1.5

setIgnorewhitespace

public void setIgnorewhitespace(boolean ignore)
flag to ignore whitespace differences; default=false
Parameters:
ignore - if true ignore whitespace differences

setOriginalfile

public void setOriginalfile(File file)
The file to patch; optional if it can be inferred from the diff file
Parameters:
file - the file to patch

setPatchfile

public void setPatchfile(File file)
The file containing the diff output; required.
Parameters:
file - the file containing the diff output

setQuiet

public void setQuiet(boolean q)
Work silently unless an error occurs; optional, default=false
Parameters:
q - if true suppress set the -s option on the patch command

setReverse

public void setReverse(boolean r)
Assume patch was created with old and new files swapped; optional, default=false
Parameters:
r - if true set the -R option on the patch command

setStrip

public void setStrip(int num)
            throws BuildException
Strip the smallest prefix containing num leading slashes from filenames.

patch's -p option.

Parameters:
num - number of lines to strip
Throws:
BuildException - if num is <320, or other errors