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


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


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


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
Load 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(
)
:
void
Executes 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(
)
:
void
Configure this task if it hasn't been done already.
Inherited from: \Task::maybeConfigure()

setAllowedFileExtensions(
string $fileExtensions
)
:
void
Sets 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
)
:
void
Set the input source file or directory.
Name | Type | Description |
---|---|---|
$file | \PhingFile | The input source file or directory. |


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


setIgnorePatterns(
string $ignorePatterns
)
:
void
Sets 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
)
:
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. |


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


setMinTokens(
integer $minTokens
)
:
void
Sets 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
)
:
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 |


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 |


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


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