tasks/ext/phpcpd/PHPCPDTask.php

Show: inherited
Table of Contents

$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

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: PHPCPDTask.php 1340 2011-10-31 09:40:00Z mrook $  

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

List of exclude directory patterns.

Default valuearray('.git'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 taskInherited from: \Task::$description
Details
Type
string
Inherited_from
\Task::$description  
Propertyprotected\Location  $location= ''
inherited

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

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

Taskname for loggerInherited 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 taskInherited from: \Task::$wrapper
Details
Type
\RuntimeConfigurable
Inherited_from
\Task::$wrapper  

Methods

methodpubliccreateFileSet( ) : \FileSet

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

Returns
Type Description
\FileSet The created fileset object
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()
Returns
Type Description
\Project Reference to current porject object
methodprotectedgetRegisterSlot(  $slotName ) : void
inherited

Returns a name

Inherited from: \Task::getRegisterSlot()
Parameters
Name Type Description
$slotName
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()

@param string $msg The message to be logged.

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

methodpublicsetMinimumPriority( integer $minimumPriority ) : void

Sets the minimum rule priority.

Parameters
Name Type Description
$minimumPriority integer

Minimum rule priority.

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()
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(  $name ) : string
inherited

Sets the name of this task for log messages

Inherited from: \Task::setTaskName()
Parameters
Name Type Description
$name
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.15.1.