tasks/ext/phpcpd/PHPCPDTask.php
\PHPCPDTask
Runs PHP Copy & Paste Detector. Checking PHP files for duplicated code.
Refactored original PhpCpdTask provided by Timo Haberkern timo.haberkern@fantastic-bits.de
- Parent(s)
- \Task < \ProjectComponent
- Author
- Benjamin Schultz
- Copyright
- 2001,2002 THYRELL. All rights reserved
- Version
- $Id: 8fbff39b2ca68e97afd59d5dc6d5a37c3678624e $
Properties

array
$_allowedFileExtensions= 'array('php')'
List of valid file extensions for analyzed files.
array('php')Details- Type
- array

\PhingFile
$_file= 'null'
A php source code filename or directory
nullDetails- Type
- \PhingFile

\array<FileSet>
$_filesets= 'array()'
All fileset objects assigned to this task
array()Details- Type
- \array<FileSet>

\array<PHPCPDFormatterElement>
$_formatters= 'array()'
Formatter elements.
array()Details- Type
- \array<PHPCPDFormatterElement>

array
$_ignorePatterns= 'array('.git', '.svn', 'CVS', '.bzr', '.hg')'
List of exclude directory patterns.
array('.git', '.svn', 'CVS', '.bzr', '.hg')Details- Type
- array

\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::$$projectnullDetails- Type
- \Project
- Inherited_from
- \ProjectComponent::$$project
- Inherited_from
- \Task::$$project
Methods

addFileSet(
\FileSet $fs
)
:
voidNested creator, adds a set of files (nested fileset attribute).
| Name | Type | Description |
|---|---|---|
| $fs | \FileSet | List of files to scan |

createFormatter(
)
:
\PHPCPDFormatterElementCreate object for nested formatter element.
| Type | Description |
|---|---|
| \PHPCPDFormatterElement |

getLocation(
)
:
\LocationReturns 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(
)
:
\ProjectReturns a reference to current project
Inherited from: \ProjectComponent::getProject()\Task::getProject()| Type | Description |
|---|---|
| \Project | Reference to current porject object |

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

getTaskType(
)
:
stringReturns 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(
)
:
voidLoad the necessary environment for running PHPCPD.
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 | - if the phpcpd classes can't be loaded. |

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(
)
:
voidExecutes PHPCPD against PhingFile or a FileSet
Should throw a BuildException if someting goes wrong with the build
This is abstract here. Must be overloaded by real tasks.

maybeConfigure(
)
:
voidConfigure this task if it hasn't been done already.
Inherited from: \Task::maybeConfigure()
setAllowedFileExtensions(
string $fileExtensions
)
:
voidSets a list of filename extensions for valid php source code files.
| Name | Type | Description |
|---|---|---|
| $fileExtensions | string | List of valid file extensions. |

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

setFile(
\PhingFile $file
)
:
voidSet the input source file or directory.
| Name | Type | Description |
|---|---|---|
| $file | \PhingFile | The input source file or directory. |

setFormat(
string $format
)
:
voidSets the output format
| Name | Type | Description |
|---|---|---|
| $format | string | Format of the report |

setIgnorePatterns(
string $ignorePatterns
)
:
voidSets a list of ignore patterns that is used to exclude directories from the source analysis.
| Name | Type | Description |
|---|---|---|
| $ignorePatterns | string | List of ignore patterns. |

setLocation(
\Location $location
)
:
voidSets 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. |

setMinLines(
integer $minLines
)
:
voidSets the minimum number of identical lines (default: 5).
| Name | Type | Description |
|---|---|---|
| $minLines | integer | Minimum number of identical lines |

setMinTokens(
integer $minTokens
)
:
voidSets the minimum number of identical tokens (default: 70).
| Name | Type | Description |
|---|---|---|
| $minTokens | integer | Minimum number of identical tokens |

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

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

setRuntimeConfigurableWrapper(
\RuntimeConfigurable $wrapper
)
:
voidSets 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 |

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
)
:
voidSets 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) |

validateFormatters(
)
:
voidValidates the available formatters
| Exception | Description |
|---|---|
| \BuildException |