tasks/ext/phpcpd/PHPCPDTask.php

Show: inherited
Table of Contents

\PHPCPDTask

Package: phing\tasks\ext\phpcpd

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

Propertyprotectedarray  $_allowedFileExtensions= 'array('php')'

List of valid file extensions for analyzed files.

Default valuearray('php')Details
Type
array
Propertyprotected\PhingFile  $_file= 'null'

A php source code filename or directory

Default valuenullDetails
Type
\PhingFile
Propertyprotected\array<FileSet>  $_filesets= 'array()'

All fileset objects assigned to this task

Default valuearray()Details
Type
\array<FileSet>
Propertyprotectedstring  $_format= ''default''

The format for the report

Default value'default'Details
Type
string
Propertyprotected\array<PHPCPDFormatterElement>  $_formatters= 'array()'

Formatter elements.

Default valuearray()Details
Type
\array<PHPCPDFormatterElement>
Propertyprotectedarray  $_ignorePatterns= 'array('.git', '.svn', 'CVS', '.bzr', '.hg')'

List of exclude directory patterns.

Default valuearray('.git', '.svn', 'CVS', '.bzr', '.hg')Details
Type
array
Propertyprotectedinteger  $_minLines= '5'

Minimum number of identical lines.

Default value5Details
Type
integer
Propertyprotectedinteger  $_minTokens= '70'

Minimum number of identical tokens.

Default value70Details
Type
integer
Propertyprotectedstring  $description= ''
inherited

Description of the task

Inherited from: \Task::$$description
Details
Type
string
Inherited_from
\Task::$$description  
Propertyprotected\Location  $location= ''
inherited

Stored buildfile location

Inherited from: \Task::$$location
Details
Type
\Location
Inherited_from
\Task::$$location  
Propertyprotected\Project  $project= 'null'
inherited

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::$$project
Default valuenullDetails
Type
\Project
Inherited_from
\ProjectComponent::$$project  
Inherited_from
\Task::$$project  
Propertyprotected\Target  $target= ''
inherited

Owning Target object

Inherited from: \Task::$$target
Details
Type
\Target
Inherited_from
\Task::$$target  
Propertyprotectedstring  $taskName= ''
inherited

Taskname for logger

Inherited from: \Task::$$taskName
Details
Type
string
Inherited_from
\Task::$$taskName  
Propertyprotectedstring  $taskType= ''
inherited

Internal taskname (req)

Inherited from: \Task::$$taskType
Details
Type
string
Inherited_from
\Task::$$taskType  
Propertyprotected\RuntimeConfigurable  $wrapper= ''
inherited

Wrapper of the task

Inherited from: \Task::$$wrapper
Details
Type
\RuntimeConfigurable
Inherited_from
\Task::$$wrapper  

Methods

methodpublicaddFileSet( \FileSet $fs ) : void

Nested creator, adds a set of files (nested fileset attribute).

Parameters
Name Type Description
$fs \FileSet

List of files to scan

methodpubliccreateFormatter( ) : \PHPCPDFormatterElement

Create object for nested formatter element.

Returns
Type Description
\PHPCPDFormatterElement
methodpublicgetDescription( ) : string
inherited

Returns the textual description of the task

Inherited from: \Task::getDescription()
Returns
Type Description
string The text description of the task
methodpublicgetLocation( ) : \Location
inherited

Returns the location within the buildfile this task occurs. Used by {@link BuildException} to give detailed error messages.

Inherited from: \Task::getLocation()
Returns
Type Description
\Location The location object describing the position of this task within the buildfile.
methodpublicgetOwningTarget( ) : \Target
inherited

Returns the owning target of this task.

Inherited from: \Task::getOwningTarget()
Returns
Type Description
\Target The target object that owns this task
methodpublicgetProject( ) : \Project
inherited

Returns a reference to current project

Inherited from: \ProjectComponent::getProject()\Task::getProject()
Returns
Type Description
\Project Reference to current porject object
methodprotectedgetRegisterSlot( string $slotName ) : void
inherited

Returns a name

Inherited from: \Task::getRegisterSlot()
Parameters
Name Type Description
$slotName string
methodpublicgetRuntimeConfigurableWrapper( ) : \RuntimeConfigurable
inherited

Returns the wrapper object for runtime configuration

Inherited from: \Task::getRuntimeConfigurableWrapper()
Returns
Type Description
\RuntimeConfigurable The wrapper object used by this task
methodpublicgetTaskName( ) : string
inherited

Returns the name of task, used only for log messages

Inherited from: \Task::getTaskName()
Returns
Type Description
string Name of this task
methodpublicgetTaskType( ) : string
inherited

Returns the name of the task under which it was invoked, usually the XML tagname

Inherited from: \Task::getTaskType()
Returns
Type Description
string The type of this task (XML Tag)
methodpublicinit( ) : 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.

Throws
Exception Description
\BuildException - if the phpcpd classes can't be loaded.
methodpubliclog( string $msg, integer $level = Project::MSG_INFO ) : void
inherited

Provides a project level log event to the task.

Inherited from: \Task::log()
Parameters
Name Type Description
$msg string

The message to log

$level integer

The priority of the message

Details
See
\BuildEvent  
See
\BuildListener  
methodpublicmain( ) : 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.

methodpublicmaybeConfigure( ) : void
inherited

Configure this task if it hasn't been done already.

Inherited from: \Task::maybeConfigure()
methodpublicperform( ) : void
inherited

Perfrom this task

Inherited from: \Task::perform()
methodpublicsetAllowedFileExtensions( string $fileExtensions ) : void

Sets a list of filename extensions for valid php source code files.

Parameters
Name Type Description
$fileExtensions string

List of valid file extensions.

methodpublicsetDescription( string $desc ) : void
inherited

Sets a textual description of the task

Inherited from: \Task::setDescription()
Parameters
Name Type Description
$desc string

The text describing the task

methodpublicsetFile( \PhingFile $file ) : void

Set the input source file or directory.

Parameters
Name Type Description
$file \PhingFile

The input source file or directory.

methodpublicsetFormat( string $format ) : void

Sets the output format

Parameters
Name Type Description
$format string

Format of the report

methodpublicsetIgnorePatterns( string $ignorePatterns ) : void

Sets a list of ignore patterns that is used to exclude directories from the source analysis.

Parameters
Name Type Description
$ignorePatterns string

List of ignore patterns.

methodpublicsetLocation( \Location $location ) : void
inherited

Sets the location within the buildfile this task occurs. Called by the parser to set location information.

Inherited from: \Task::setLocation()
Parameters
Name Type Description
$location \Location

The location object describing the position of this task within the buildfile.

methodpublicsetMinLines( integer $minLines ) : void

Sets the minimum number of identical lines (default: 5).

Parameters
Name Type Description
$minLines integer

Minimum number of identical lines

methodpublicsetMinTokens( integer $minTokens ) : void

Sets the minimum number of identical tokens (default: 70).

Parameters
Name Type Description
$minTokens integer

Minimum number of identical tokens

methodpublicsetOwningTarget( \Target $target ) : void
inherited

Sets the owning target this task belongs to.

Inherited from: \Task::setOwningTarget()
Parameters
Name Type Description
$target \Target

Reference to owning target

methodpublicsetProject( \Project $project ) : void
inherited

References the project to the current component.

Inherited from: \ProjectComponent::setProject()\Task::setProject()
Parameters
Name Type Description
$project \Project

The reference to the current project

methodpublicsetRuntimeConfigurableWrapper( \RuntimeConfigurable $wrapper ) : void
inherited

Sets the wrapper object this task should use for runtime configurable elements.

Inherited from: \Task::setRuntimeConfigurableWrapper()
Parameters
Name Type Description
$wrapper \RuntimeConfigurable

The wrapper object this task should use

methodpublicsetTaskName( string $name ) : string
inherited

Sets the name of this task for log messages

Inherited from: \Task::setTaskName()
Parameters
Name Type Description
$name string
Returns
Type Description
string A string representing the name of this task for log
methodpublicsetTaskType( string $name ) : void
inherited

Sets the type of the task. Usually this is the name of the XML tag

Inherited from: \Task::setTaskType()
Parameters
Name Type Description
$name string

The type of this task (XML Tag)

methodprotectedvalidateFormatters( ) : void

Validates the available formatters

Throws
Exception Description
\BuildException
Documentation was generated by DocBlox 0.18.1.