org.apache.tools.ant.taskdefs
Class Patch

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.Patch
All Implemented Interfaces:
java.lang.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
 
Constructor Summary
Patch()
           
 
Method Summary
 void execute()
          execute patch
 void setBackups(boolean backups)
          flag to create backups; optional, default=false
 void setDestfile(java.io.File file)
          The name of a file to send the output to, instead of patching the file(s) in place; optional.
 void setDir(java.io.File directory)
          The directory to run the patch command in, defaults to the project's base directory.
 void setFailOnError(boolean value)
          If true, stop the build process if the patch command exits with an error status.
 void setIgnorewhitespace(boolean ignore)
          flag to ignore whitespace differences; default=false
 void setOriginalfile(java.io.File file)
          The file to patch; optional if it can be inferred from the diff file
 void setPatchfile(java.io.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, 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, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Patch

public Patch()
Method Detail

setOriginalfile

public void setOriginalfile(java.io.File file)
The file to patch; optional if it can be inferred from the diff file

Parameters:
file - the file to patch

setDestfile

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

setPatchfile

public void setPatchfile(java.io.File file)
The file containing the diff output; required.

Parameters:
file - the file containing the diff output

setBackups

public void setBackups(boolean backups)
flag to create backups; optional, default=false

Parameters:
backups - if true create backups

setIgnorewhitespace

public void setIgnorewhitespace(boolean ignore)
flag to ignore whitespace differences; default=false

Parameters:
ignore - if true ignore whitespace differences

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 < 0, or other errors

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

setDir

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

setFailOnError

public void setFailOnError(boolean value)
If true, stop the build process if the patch command exits with an error status.

Parameters:
value - true if it should halt, otherwise false. The default is false.
Since:
Ant 1.8.0

execute

public void execute()
             throws BuildException
execute patch

Overrides:
execute in class Task
Throws:
BuildException - when it all goes a bit pear shaped