tasks/ext/PearPackageTask.php

Show: inherited
Table of Contents

A task to create PEAR package.xml file.

This class uses the PEAR_PackageFileMaintainer class to perform the work.

This class is designed to be very flexible -- i.e. account for changes to the package.xml w/o requiring changes to this class. We've accomplished this by having generic

The


The tag represents a complex data type. You can use nested (and nested with tags) to represent the full complexity of the structure. Bear in mind that what you are creating will be mapped to an associative array that will be passed in via PEAR_PackageFileMaintainer::setOptions().


 
 

Here's an over-simple example of how this could be used:


 
  
 
 
 
 
 

Look at the build.xml in the Phing base directory (assuming you have the full distro / CVS version of Phing) to see a more complete example of how to call this script.

Author
Hans Lellelid  
Package
phing.tasks.ext  
Version
$Id: 2078fd5bab3dd6dcea0345a12fce86a24586c765 $  

\PearPackageTask

Package: phing\tasks\ext

A task to create PEAR package.xml file.

This class uses the PEAR_PackageFileMaintainer class to perform the work.

This class is designed to be very flexible -- i.e. account for changes to the package.xml w/o requiring changes to this class. We've accomplished this by having generic

The


The tag represents a complex data type. You can use nested (and nested with tags) to represent the full complexity of the structure. Bear in mind that what you are creating will be mapped to an associative array that will be passed in via PEAR_PackageFileMaintainer::setOptions().


 
 

Here's an over-simple example of how this could be used:


 
  
 
 
 
 
 

Look at the build.xml in the Phing base directory (assuming you have the full distro / CVS version of Phing) to see a more complete example of how to call this script.

Parent(s)
\MatchingTask < \SelectorContainer < \ProjectComponent
Children
\PearPackage2Task
Author
Hans Lellelid  
Copyright
2001,2002 THYRELL. All rights reserved  
Version
$Id: 2078fd5bab3dd6dcea0345a12fce86a24586c765 $  

Properties

Propertyprotectedstring  $description= ''
inherited

Description of the task

Inherited from: \Task::$$description\MatchingTask::$$description
Details
Type
string
Inherited_from
\Task::$$description  
Inherited_from
\MatchingTask::$$description  
Propertyprotected  $dir= ''

Base directory for reading files.

Details
Type
n/a
Propertyprotected\FileSet  $fileset= ''
inherited

Inherited from: \MatchingTask::$$fileset
Details
Type
\FileSet
Inherited_from
\MatchingTask::$$fileset  
Propertyprivatearray  $filesets= 'array()'

FileSet[]
Default valuearray()Details
Type
array
Propertyprotected\Location  $location= ''
inherited

Stored buildfile location

Inherited from: \Task::$$location\MatchingTask::$$location
Details
Type
\Location
Inherited_from
\Task::$$location  
Inherited_from
\MatchingTask::$$location  
Propertyprotected  $mappings= 'array()'

Nested <mapping> (complex options) types.

Default valuearray()Details
Type
n/a
Propertyprotectedarray  $options= 'array()'

PearPkgOption[]
Default valuearray()Details
Type
array
Propertyprotected  $package= ''

Details
Type
n/a
Propertyprivate  $packageFile= ''

Package file

Details
Type
n/a
Propertyprotected\PEAR_PackageFileManager  $pkg= ''

Details
Type
\PEAR_PackageFileManager
Propertyprivate  $preparedOptions= 'array()'
Default valuearray()Details
Type
n/a
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\MatchingTask::$$project
Default valuenullDetails
Type
\Project
Inherited_from
\ProjectComponent::$$project  
Inherited_from
\Task::$$project  
Inherited_from
\MatchingTask::$$project  
Propertyprotected\PearPkgRole[]  $roles= 'array()'

Nested <role> elements

Default valuearray()Details
Type
\PearPkgRole[]
Propertyprotected\Target  $target= ''
inherited

Owning Target object

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

Taskname for logger

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

Internal taskname (req)

Inherited from: \Task::$$taskType\MatchingTask::$$taskType
Details
Type
string
Inherited_from
\Task::$$taskType  
Inherited_from
\MatchingTask::$$taskType  
Propertyprotectedboolean  $useDefaultExcludes= 'true'
inherited

Inherited from: \MatchingTask::$$useDefaultExcludes
Default valuetrueDetails
Type
boolean
Inherited_from
\MatchingTask::$$useDefaultExcludes  
Propertyprotected\RuntimeConfigurable  $wrapper= ''
inherited

Wrapper of the task

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

Methods

methodpublic__construct( ) : void
inherited

Create instance; set fileset to new FileSet.

Inherited from: \MatchingTask::__construct()
methodpublicaddFileSet(  $fs ) : void

Nested creator, creates a FileSet for this task

Parameters
Name Type Description
$fs
methodpublicappendSelector( \FileSelector $selector ) : void
inherited

Add a new selector into this container.

Inherited from: \MatchingTask::appendSelector()
Parameters
Name Type Description
$selector \FileSelector

the new selector to add

methodpubliccreateAnd( ) : \AndSelector
inherited

add an "And" selector entry on the selector list

Inherited from: \MatchingTask::createAnd()
Returns
Type Description
\AndSelector
methodpubliccreateContains( ) : \ContainsSelector
inherited

add a contains selector entry on the selector list

Inherited from: \MatchingTask::createContains()
Returns
Type Description
\ContainsSelector
methodpubliccreateCustom( ) : \ExtendSelector
inherited

add an extended selector entry on the selector list

Inherited from: \MatchingTask::createCustom()
Returns
Type Description
\ExtendSelector
methodpubliccreateDate( ) : \DateSelector
inherited

add a selector date entry on the selector list

Inherited from: \MatchingTask::createDate()
Returns
Type Description
\DateSelector
methodpubliccreateDepend( ) : \DependSelector
inherited

add a depends selector entry on the selector list

Inherited from: \MatchingTask::createDepend()
Returns
Type Description
\DependSelector
methodpubliccreateDepth( ) : \DepthSelector
inherited

add a depth selector entry on the selector list

Inherited from: \MatchingTask::createDepth()
Returns
Type Description
\DepthSelector
methodpubliccreateExclude( ) : \PatternSetNameEntry
inherited

add a name entry on the exclude list

Inherited from: \MatchingTask::createExclude()
Returns
Type Description
\PatternSetNameEntry
methodpubliccreateExcludesFile( ) : \PatternSetNameEntry
inherited

add a name entry on the include files list

Inherited from: \MatchingTask::createExcludesFile()
Returns
Type Description
\PatternSetNameEntry
methodpubliccreateFilename( ) : \FilenameSelector
inherited

add a selector filename entry on the selector list

Inherited from: \MatchingTask::createFilename()
Returns
Type Description
\FilenameSelector
methodpubliccreateInclude( ) : \PatternSetNameEntry
inherited

add a name entry on the include list

Inherited from: \MatchingTask::createInclude()
Returns
Type Description
\PatternSetNameEntry
methodpubliccreateIncludesFile( ) : \PatternSetNameEntry
inherited

add a name entry on the include files list

Inherited from: \MatchingTask::createIncludesFile()
Returns
Type Description
\PatternSetNameEntry
methodpubliccreateMajority( ) : \MajoritySelector
inherited

add a majority selector entry on the selector list

Inherited from: \MatchingTask::createMajority()
Returns
Type Description
\MajoritySelector
methodpubliccreateMapping( ) : void

Handles nested generic

methodpubliccreateNone( ) : \NoneSelector
inherited

add a "None" selector entry on the selector list

Inherited from: \MatchingTask::createNone()
Returns
Type Description
\NoneSelector
methodpubliccreateNot( ) : \NotSelector
inherited

add a "Not" selector entry on the selector list

Inherited from: \MatchingTask::createNot()
Returns
Type Description
\NotSelector
methodpubliccreateOption( ) : void

Handles nested generic

methodpubliccreateOr( ) : void
inherited

add an "Or" selector entry on the selector list

Inherited from: \MatchingTask::createOr()
methodpubliccreatePatternSet( ) : \PatternSet
inherited

add a set of patterns

Inherited from: \MatchingTask::createPatternSet()
Returns
Type Description
\PatternSet
methodpubliccreatePresent( ) : \PresentSelector
inherited

add a present selector entry on the selector list

Inherited from: \MatchingTask::createPresent()
Returns
Type Description
\PresentSelector
methodpubliccreateRole( ) : \PearPkgRole

Handles nested elements

Returns
Type Description
\PearPkgRole
methodpubliccreateSelector( ) : \SelectSelector
inherited

add a "Select" selector entry on the selector list

Inherited from: \MatchingTask::createSelector()
Returns
Type Description
\SelectSelector
methodpubliccreateSize( ) : \SizeSelector
inherited

add a selector size entry on the selector list

Inherited from: \MatchingTask::createSize()
Returns
Type Description
\SizeSelector
methodprivatefixDeps(  $deps ) : void

Fixes the boolean in optional dependencies

Parameters
Name Type Description
$deps
methodpublicgetDescription( ) : string
inherited

Returns the textual description of the task

Inherited from: \Task::getDescription()\MatchingTask::getDescription()
Returns
Type Description
string The text description of the task
methodprotectedgetDirectoryScanner(  $baseDir ) : \DirectoryScanner
inherited

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

Inherited from: \MatchingTask::getDirectoryScanner()
Parameters
Name Type Description
$baseDir
Returns
Type Description
\DirectoryScanner
methodpublicgetFileSets( ) : array

Used by the PEAR_PackageFileManager_PhingFileSet lister.

Returns
Type Description
array FileSet[]
methodprotectedgetImplicitFileSet( ) : \FileSet
finalinherited

Accessor for the implict fileset.

Inherited from: \MatchingTask::getImplicitFileSet()
Returns
Type Description
\FileSet
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()\MatchingTask::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()\MatchingTask::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()\MatchingTask::getProject()
Returns
Type Description
\Project Reference to current porject object
methodprotectedgetRegisterSlot( string $slotName ) : void
inherited

Returns a name

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

Returns the wrapper object for runtime configuration

Inherited from: \Task::getRuntimeConfigurableWrapper()\MatchingTask::getRuntimeConfigurableWrapper()
Returns
Type Description
\RuntimeConfigurable The wrapper object used by this task
methodpublicgetSelectors(  $p ) : array
inherited

Returns the set of selectors as an array.

Inherited from: \MatchingTask::getSelectors()
Parameters
Name Type Description
$p
Returns
Type Description
array FileSelector[] An array of selectors in this container
methodpublicgetTaskName( ) : string
inherited

Returns the name of task, used only for log messages

Inherited from: \Task::getTaskName()\MatchingTask::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()\MatchingTask::getTaskType()
Returns
Type Description
string The type of this task (XML Tag)
methodpublichasSelectors( ) : boolean
inherited

Indicates whether there are any selectors here.

Inherited from: \MatchingTask::hasSelectors()
Returns
Type Description
boolean Whether any selectors are in this container
methodpublicinit( ) : void

Called by the parser to let the task initialize properly.

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
methodpubliclog( string $msg, integer $level = Project::MSG_INFO ) : void
inherited

Provides a project level log event to the task.

Inherited from: \Task::log()\MatchingTask::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

Main entry point.

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()\MatchingTask::maybeConfigure()
methodpublicperform( ) : void
inherited

Perfrom this task

Inherited from: \Task::perform()\MatchingTask::perform()
methodprivatepopulateOptions( ) : void

Adds the options that are set via attributes and the nested tags to the options array.

methodpublicselectorCount( ) : int
inherited

Gives the count of the number of selectors in this container

Inherited from: \MatchingTask::selectorCount()
Returns
Type Description
int The number of selectors in this container
methodpublicselectorElements( ) : \an
inherited

Returns an enumerator for accessing the set of selectors.

Inherited from: \MatchingTask::selectorElements()
Returns
Type Description
\an enumerator that goes through each of the selectors
methodpublicsetCaseSensitive( boolean $isCaseSensitive ) : void
inherited

Sets case sensitivity of the file system

Inherited from: \MatchingTask::setCaseSensitive()
Parameters
Name Type Description
$isCaseSensitive boolean

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

methodpublicsetDefaultexcludes( boolean $useDefaultExcludes ) : void
inherited

Sets whether default exclusions should be used or not.

Inherited from: \MatchingTask::setDefaultexcludes()
Parameters
Name Type Description
$useDefaultExcludes boolean

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

methodpublicsetDescription( string $desc ) : void
inherited

Sets a textual description of the task

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

The text describing the task

methodpublicsetDestFile(  $f ) : void

Sets the file to use for generated package.xml

Parameters
Name Type Description
$f
methodpublicsetDir( \PhingFile $f ) : void

Sets "dir" property from XML.

Parameters
Name Type Description
$f \PhingFile
methodpublicsetExcludes( string $excludes ) : void
inherited

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

Inherited from: \MatchingTask::setExcludes()
Parameters
Name Type Description
$excludes string

the string containing the exclude patterns

methodpublicsetExcludesfile( \PhingFile $excludesfile ) : void
inherited

Sets the name of the file containing the includes patterns.

Inherited from: \MatchingTask::setExcludesfile()
Parameters
Name Type Description
$excludesfile \PhingFile

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

methodpublicsetFollowSymlinks( boolean $followSymlinks ) : void
inherited

Sets whether or not symbolic links should be followed.

Inherited from: \MatchingTask::setFollowSymlinks()
Parameters
Name Type Description
$followSymlinks boolean

whether or not symbolic links should be followed

methodpublicsetIncludes( string $includes ) : void
inherited

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

Inherited from: \MatchingTask::setIncludes()
Parameters
Name Type Description
$includes string

the string containing the include patterns

methodpublicsetIncludesfile( \PhingFile $includesfile ) : void
inherited

Sets the name of the file containing the includes patterns.

Inherited from: \MatchingTask::setIncludesfile()
Parameters
Name Type Description
$includesfile \PhingFile

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

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()\MatchingTask::setLocation()
Parameters
Name Type Description
$location \Location

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

methodpublicsetName( string $v ) : void

Sets "name" property from XML.

Parameters
Name Type Description
$v string
methodprotectedsetOptions( ) : void

Sets PEAR package.xml options, based on class properties.

methodpublicsetOwningTarget( \Target $target ) : void
inherited

Sets the owning target this task belongs to.

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

Reference to owning target

methodpublicsetPackage( string $v ) : void

Set "package" property from XML.

Parameters
Name Type Description
$v string
Details
See
\setName()  
methodpublicsetProject( \Project $project ) : void
inherited

References the project to the current component.

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

The reference to the current project

Details
See
\ProjectComponent::setProject()  
methodpublicsetRuntimeConfigurableWrapper( \RuntimeConfigurable $wrapper ) : void
inherited

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

Inherited from: \Task::setRuntimeConfigurableWrapper()\MatchingTask::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()\MatchingTask::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()\MatchingTask::setTaskType()
Parameters
Name Type Description
$name string

The type of this task (XML Tag)

\PearPkgMapping

Package: phing\tasks\ext

Handles complex options <mapping> elements which are hashes (assoc arrays).

Properties

Propertyprivate  $elements= 'array()'
Default valuearray()Details
Type
n/a
Propertyprivate  $name= ''
Details
Type
n/a

Methods

methodpubliccreateElement( ) : void

methodpublicgetElements( ) : void

methodpublicgetName( ) : void

methodpublicgetValue( ) : array

Returns the PHP hash or array of hashes (etc.) that this mapping represents.

Returns
Type Description
array
methodpublicsetName(  $v ) : void

Parameters
Name Type Description
$v

\PearPkgMappingElement

Package: phing\tasks\ext

Sub-element of <mapping>.

Properties

Propertyprivate  $elements= 'array()'
Default valuearray()Details
Type
n/a
Propertyprivate  $key= ''
Details
Type
n/a
Propertyprivate  $value= ''
Details
Type
n/a

Methods

methodpubliccreateElement( ) : void

Handles nested tags.

methodpublicgetKey( ) : void

methodpublicgetValue( ) : mixed

Returns either the simple value or the calculated value (array) of nested elements.

Returns
Type Description
mixed
methodpublicsetKey(  $v ) : void

Parameters
Name Type Description
$v
methodpublicsetValue(  $v ) : void

Parameters
Name Type Description
$v

\PearPkgOption

Package: phing\tasks\ext

Generic option class is used for non-complex options.

Properties

Propertyprivate  $name= ''
Details
Type
n/a
Propertyprivate  $value= ''
Details
Type
n/a

Methods

methodpublicaddText(  $txt ) : void

Parameters
Name Type Description
$txt
methodpublicgetName( ) : void

methodpublicgetValue( ) : void

methodpublicsetName(  $v ) : void

Parameters
Name Type Description
$v
methodpublicsetValue(  $v ) : void

Parameters
Name Type Description
$v

\PearPkgRole

Package: phing\tasks\ext

Encapsulates file roles

Properties

Propertyprivatestring  $extension= ''

Details
Type
string
Propertyprivatestring  $role= ''

Details
Type
string

Methods

methodpublicgetExtension( ) : string

Retrieves the file extension

Returns
Type Description
string
methodpublicgetRole( ) : string

Retrieves the role

Returns
Type Description
string
methodpublicsetExtension( string $extension ) : void

Sets the file extension

Parameters
Name Type Description
$extension string
methodpublicsetRole( string $role ) : void

Sets the role

Parameters
Name Type Description
$role string
Documentation was generated by DocBlox 0.18.1.