## org.apache.tools.ant.taskdefs
Class Patch

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.Task
              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