tasks/ext/PatchTask.php
\PatchTask
Patches a file by applying a 'diff' file to it
Requires "patch" to be on the execution path.
- Parent(s)
- \Task < \ProjectComponent
- Author
- Andreas Aderhold
- Copyright
- 2001,2002 THYRELL. All rights reserved
- Version
- $Id$
Constants
Properties


array
$cmdArgs= 'array()'
Command line arguments for patch binary
array()
Details- Type
- array


bool
$haltOnFailure= 'false'
Halt on error return value from patch invocation.
false
Details- Type
- bool


\Project
$project= 'null'
Holds a reference to the project that a project component (a task, a target, etc.) belongs to
A reference to the current project instanceInherited from: \ProjectComponent::$$project\Task::$$projectnull
Details- Type
- \Project
- Inherited_from
- \ProjectComponent::$$project
- Inherited_from
- \Task::$$project
Methods


getLocation(
)
:
\Location
Returns the location within the buildfile this task occurs. Used by {@link BuildException} to give detailed error messages.
Inherited from: \Task::getLocation()Type | Description |
---|---|
\Location | The location object describing the position of this task within the buildfile. |


getProject(
)
:
\Project
Returns a reference to current project
Inherited from: \ProjectComponent::getProject()\Task::getProject()Type | Description |
---|---|
\Project | Reference to current porject object |


getRuntimeConfigurableWrapper(
)
:
\RuntimeConfigurable
Returns the wrapper object for runtime configuration
Inherited from: \Task::getRuntimeConfigurableWrapper()Type | Description |
---|---|
\RuntimeConfigurable | The wrapper object used by this task |


getTaskType(
)
:
string
Returns the name of the task under which it was invoked, usually the XML tagname
Inherited from: \Task::getTaskType()Type | Description |
---|---|
string | The type of this task (XML Tag) |


init(
)
:
void
Should throw a BuildException if something goes wrong with the build
This is abstract here, but may not be overloaded by subclasses.
Exception | Description |
---|---|
\BuildException |


log(
string $msg, integer $level
=
Project::MSG_INFO
)
:
void
Name | Type | Description |
---|---|---|
$msg | string | The message to log |
$level | integer | The priority of the message |
- See
- \BuildEvent
- See
- \BuildListener


main(
)
:
void
Main task method
Should throw a BuildException if someting goes wrong with the build
This is abstract here. Must be overloaded by real tasks.
Exception | Description |
---|---|
\BuildException | when it all goes a bit pear shaped |


maybeConfigure(
)
:
void
Configure this task if it hasn't been done already.
Inherited from: \Task::maybeConfigure()

setBackups(
bool $backups
)
:
void
Flag to create backups
Optional, default - false
Name | Type | Description |
---|---|---|
$backups | bool | If true create backups |


setDescription(
string $desc
)
:
void
Name | Type | Description |
---|---|---|
$desc | string | The text describing the task |


setDestFile(
string $file
)
:
void
The name of a file to send the output to, instead of patching the file(s) in place
Optional.
Name | Type | Description |
---|---|---|
$file | string | File to send the output to |


setDir(
string $directory
)
:
void
The directory to run the patch command in
Defaults to the project's base directory.
Name | Type | Description |
---|---|---|
$directory | string | Directory to run the patch command in |


setForward(
bool $flag
)
:
void
Ignore patches that seem to be reversed or already applied
Name | Type | Description |
---|---|---|
$flag | bool | If true set the -N (--forward) option |


setFuzz(
string $value
)
:
void
Set the maximum fuzz factor
Defaults to 0
Name | Type | Description |
---|---|---|
$value | string | Value of a fuzz factor |


setHaltOnFailure(
bool $value
)
:
void
If true, stop the build process if the patch command exits with an error status.
The default is "false"
Name | Type | Description |
---|---|---|
$value | bool | "true" if it should halt, otherwise "false" |


setIgnoreWhiteSpace(
bool $ignore
)
:
void
Flag to ignore whitespace differences;
Default - false
Name | Type | Description |
---|---|---|
$ignore | bool | If true ignore whitespace differences |


setLocation(
\Location $location
)
:
void
Sets the location within the buildfile this task occurs. Called by the parser to set location information.
Inherited from: \Task::setLocation()Name | Type | Description |
---|---|---|
$location | \Location | The location object describing the position of this task within the buildfile. |


setOriginalFile(
string $file
)
:
void
The file to patch
Optional if it can be inferred from the diff file.
Name | Type | Description |
---|---|---|
$file | string | File to patch |


setOwningTarget(
\Target $target
)
:
void
Name | Type | Description |
---|---|---|
$target | \Target | Reference to owning target |


setPatchFile(
string $file
)
:
void
The file containing the diff output
Required.
Name | Type | Description |
---|---|---|
$file | string | File containing the diff output |
Exception | Description |
---|---|
\BuildException | if $file not exists |


setProject(
\Project $project
)
:
void
References the project to the current component.
Inherited from: \ProjectComponent::setProject()\Task::setProject()Name | Type | Description |
---|---|---|
$project | \Project | The reference to the current project |


setQuiet(
bool $flag
)
:
void
Work silently unless an error occurs
Optional, default - false
Name | Type | Description |
---|---|---|
$flag | bool | If true suppress set the -s option on the patch command |


setReverse(
bool $flag
)
:
void
Assume patch was created with old and new files swapped
Optional, default - false
Name | Type | Description |
---|---|---|
$flag | bool | If true set the -R option on the patch command |


setRuntimeConfigurableWrapper(
\RuntimeConfigurable $wrapper
)
:
void
Sets the wrapper object this task should use for runtime configurable elements.
Inherited from: \Task::setRuntimeConfigurableWrapper()Name | Type | Description |
---|---|---|
$wrapper | \RuntimeConfigurable | The wrapper object this task should use |


setStrip(
int $num
)
:
void
Strip the smallest prefix containing num leading slashes from filenames.
patch's --strip option.
Name | Type | Description |
---|---|---|
$num | int | number of lines to strip |
Exception | Description |
---|---|
\BuildException | if num is < 0, or other errors |


setTaskName(
string $name
)
:
string
Name | Type | Description |
---|---|---|
$name | string |
Type | Description |
---|---|
string | A string representing the name of this task for log |


setTaskType(
string $name
)
:
void
Sets the type of the task. Usually this is the name of the XML tag
Inherited from: \Task::setTaskType()Name | Type | Description |
---|---|---|
$name | string | The type of this task (XML Tag) |