tasks/ext/phpcpd/PHPCPDTask.php
$Id: PHPCPDTask.php 1340 2011-10-31 09:40:00Z mrook $
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This software consists of voluntary contributions made by many individuals and is licensed under the LGPL. For more information please see http://phing.info.
\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: PHPCPDTask.php 1340 2011-10-31 09:40:00Z mrook $
Properties

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

\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''
List of exclude directory patterns.
array('.git'Details- Type
- array

string
$description= ''
- Type
- string
- Inherited_from
- \Task::$description

\Location
$location= ''
- Type
- \Location
- Inherited_from
- \Task::$location

\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
\Target
$target= ''
- Type
- \Target
- Inherited_from
- \Task::$target

string
$taskName= ''
- Type
- string
- Inherited_from
- \Task::$taskName

string
$taskType= ''
- Type
- string
- Inherited_from
- \Task::$taskType

\RuntimeConfigurable
$wrapper= ''
- Type
- \RuntimeConfigurable
- Inherited_from
- \Task::$wrapper
Methods

createFileSet(
)
:
\FileSetNested creator, adds a set of files (nested fileset attribute).
| Type | Description |
|---|---|
| \FileSet | The created fileset object |

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

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
@param string $msg The message to be logged.
| 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 |

setMinimumPriority(
integer $minimumPriority
)
:
voidSets the minimum rule priority.
| Name | Type | Description |
|---|---|---|
| $minimumPriority | integer | Minimum rule priority. |

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()| 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(
$name
)
:
string
| Name | Type | Description |
|---|---|---|
| $name |
| 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 |