MatchingTask

Extends \Task Implements \SelectorContainer

This is an abstract task that should be used by all those tasks that require to include or exclude files based on pattern matching.

This is very closely based on the ANT class of the same name.

author

Hans Lellelid hans@xmpl.org (Phing)

author

Arnout J. Kuiper ajkuiper@wxs.nl (Ant)

author

Stefano Mazzocchi stefano@apache.org (Ant)

author

Sam Ruby rubys@us.ibm.com (Ant)

author

Jon S. Stevens jon@clearink.com (Ant

author

Stefan Bodewig stefan.bodewig@epost.de (Ant)

author

Bruce Atherton bruce@callenish.com (Ant)

version

$Id: 0de09dc2fc5e271ecbfbb358c65130cd4876301f $

package

phing.tasks.system

Methods

Create instance; set fileset to new FileSet.

__construct() 

Add a new selector into this container.

appendSelector(\FileSelector $selector) : void

Arguments

$selector

\FileSelector

the new selector to add

add an "And" selector entry on the selector list

createAnd() : \AndSelector

Response

\AndSelector

add a contains selector entry on the selector list

createContains() : \ContainsSelector

add an extended selector entry on the selector list

createCustom() : \ExtendSelector

Response

\ExtendSelector

add a selector date entry on the selector list

createDate() : \DateSelector

Response

\DateSelector

add a depends selector entry on the selector list

createDepend() : \DependSelector

Response

\DependSelector

add a depth selector entry on the selector list

createDepth() : \DepthSelector

Response

\DepthSelector

add a name entry on the exclude list

createExclude() : \PatternSetNameEntry

add a name entry on the include files list

createExcludesFile() : \PatternSetNameEntry

add a selector filename entry on the selector list

createFilename() : \FilenameSelector

add a name entry on the include list

createInclude() : \PatternSetNameEntry

add a name entry on the include files list

createIncludesFile() : \PatternSetNameEntry

add a majority selector entry on the selector list

createMajority() : \MajoritySelector

add a "None" selector entry on the selector list

createNone() : \NoneSelector

Response

\NoneSelector

add a "Not" selector entry on the selector list

createNot() : \NotSelector

Response

\NotSelector

add an "Or" selector entry on the selector list

createOr() : \OrSelector

Response

\OrSelector

add a set of patterns

createPatternSet() : \PatternSet

Response

\PatternSet

add a present selector entry on the selector list

createPresent() : \PresentSelector

Response

\PresentSelector

add a readable selector entry on the selector list

createReadable() : \ReadableSelector

add a "Select" selector entry on the selector list

createSelector() : \SelectSelector

Response

\SelectSelector

add a selector size entry on the selector list

createSize() : \SizeSelector

Response

\SizeSelector

add a writable selector entry on the selector list

createWritable() : \WritableSelector

Returns the textual description of the task

getDescription() : string
inherited

Response

string

The text description of the task

Returns the directory scanner needed to access the files to process.

getDirectoryScanner(\PhingFile $baseDir) : \DirectoryScanner
throws

Arguments

$baseDir

\PhingFile

Response

\DirectoryScanner

Accessor for the implict fileset.

getImplicitFileSet() : \FileSet
final

Response

\FileSet

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

getLocation() : \Location
inherited

Response

\Location

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

Returns the owning target of this task.

getOwningTarget() : \Target
inherited

Response

\Target

The target object that owns this task

Returns a reference to current project

getProject() : \Project
inherited

Response

\Project

Reference to current porject object

Returns a name

getRegisterSlot(string $slotName) : \RegisterSlot
inherited

Arguments

$slotName

string

Response

\RegisterSlot

Returns the wrapper object for runtime configuration

getRuntimeConfigurableWrapper() : \RuntimeConfigurable
inherited

Response

\RuntimeConfigurable

The wrapper object used by this task

Returns the set of selectors as an array.

getSelectors(\Project $p) : array

Arguments

Response

array

FileSelector[] An array of selectors in this container

Returns the name of task, used only for log messages

getTaskName() : string
inherited

Response

string

Name of this task

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

getTaskType() : string
inherited

Response

string

The type of this task (XML Tag)

Indicates whether there are any selectors here.

hasSelectors() : boolean

Response

boolean

Whether any selectors are in this container

Called by the parser to let the task initialize properly.

init() 
inherited

Should throw a BuildException if something goes wrong with the build

This is abstract here, but may not be overloaded by subclasses.

throws

Logs a message with the given priority.

log(string $msg, integer $level = \Project::MSG_INFO) : void
inherited

Arguments

$msg

string

The message to be logged.

$level

integer

The message's priority at this message should have

Called by the project to let the task do it's work. This method may be called more than once, if the task is invoked more than once. For example, if target1 and target2 both depend on target3, then running <em>phing target1 target2</em> will run all tasks in target3 twice.

main() 
inherited abstract

Should throw a BuildException if someting goes wrong with the build

This is abstract here. Must be overloaded by real tasks.

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

maybeConfigure() 
inherited

Perfrom this task

perform() 
inherited
throws

Gives the count of the number of selectors in this container

selectorCount() : integer

Response

integer

The number of selectors in this container

Returns an enumerator for accessing the set of selectors.

selectorElements() : \an

Response

\an

enumerator that goes through each of the selectors

Sets case sensitivity of the file system

setCaseSensitive(boolean $isCaseSensitive) : void

Arguments

$isCaseSensitive

boolean

"true"|"on"|"yes" if file system is case sensitive, "false"|"off"|"no" when not.

Sets whether default exclusions should be used or not.

setDefaultexcludes(boolean $useDefaultExcludes) 

Arguments

$useDefaultExcludes

boolean

"true"|"on"|"yes" when default exclusions should be used, "false"|"off"|"no" when they shouldn't be used.

Sets a textual description of the task

setDescription(string $desc) 
inherited

Arguments

$desc

string

The text describing the task

Sets the set of exclude patterns. Patterns may be separated by a comma or a space.

setExcludes(string $excludes) 

Arguments

$excludes

string

the string containing the exclude patterns

Sets the name of the file containing the includes patterns.

setExcludesfile(\PhingFile $excludesfile) : void

Arguments

$excludesfile

\PhingFile

A string containing the filename to fetch the include patterns from.

Sets the set of include patterns. Patterns may be separated by a comma or a space.

setIncludes(string $includes) : void

Arguments

$includes

string

the string containing the include patterns

Sets the name of the file containing the includes patterns.

setIncludesfile(\PhingFile $includesfile) : void

Arguments

$includesfile

\PhingFile

A string containing the filename to fetch the include patterns from.

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

setLocation(\Location $location) 
inherited

Arguments

$location

\Location

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

Sets the owning target this task belongs to.

setOwningTarget(\Target $target) 
inherited

Arguments

$target

\Target

References the project to the current component.

setProject(\Project $project) : void
inherited

Arguments

$project

\Project

The reference to the current project

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

setRuntimeConfigurableWrapper(\RuntimeConfigurable $wrapper) 
inherited

Arguments

$wrapper

\RuntimeConfigurable

The wrapper object this task should use

Sets the name of this task for log messages

setTaskName(string $name) : string
inherited

Arguments

$name

string

Response

string

A string representing the name of this task for log

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

setTaskType( $name) 
inherited

Arguments

$name

Properties

useDefaultExcludes

useDefaultExcludes : boolean
var

Type(s)

boolean

fileset

fileset : \FileSet
var

Type(s)

\FileSet

Owning Target object

target : \Target
inherited
var

Type(s)

\Target

Description of the task

description : string
inherited
var

Type(s)

string

Internal taskname (req)

taskType : string
inherited
var

Type(s)

string

Taskname for logger

taskName : string
inherited
var

Type(s)

string

Stored buildfile location

location : \Location
inherited
var

Type(s)

\Location

Wrapper of the task

wrapper : \RuntimeConfigurable
inherited
var

Type(s)

\RuntimeConfigurable

Holds a reference to the project that a project component (a task, a target, etc.) belongs to

project : \Project
inherited
var

A reference to the current project instance

Type(s)

\Project