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:
  `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(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`
`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(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, 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(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(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(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(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