Patch (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs, class: Patch

Package 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

  Constructors
  Constructor | Description
  --- | ---
  `Patch()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `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 Details

  - ### Patch

    public Patch()

- ## Method Details

  - ### 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