tasks/ext/PearPackage2Task.php

Show: inherited
Table of Contents

A task to create a PEAR package.xml version 2.0 file.

This class uses the PEAR_PackageFileManager2 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_PackageFileManager2::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
Stuart Binge  
Author
Hans Lellelid  
Package
phing.tasks.ext  
Version
$Id: 1b20dbb6595bd4c41d1e5f1430900e3bf95de411 $  

\PearPackage2Task

Package: phing\tasks\ext

A task to create a PEAR package.xml version 2.0 file.

This class uses the PEAR_PackageFileManager2 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_PackageFileManager2::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)
\PearPackageTask < \MatchingTask < \SelectorContainer < \ProjectComponent
Author
Stuart Binge  
Author
Hans Lellelid  
Copyright
2001,2002 THYRELL. All rights reserved  
Version
$Id: 1b20dbb6595bd4c41d1e5f1430900e3bf95de411 $  

Properties

Propertyprotectedstring  $description= ''
Details
Type
string
Inherited_from
\Task::$$description  
Inherited_from
\MatchingTask::$$description  
Inherited_from
\PearPackageTask::$$description  
Propertyprotected  $dir= ''
inherited

Base directory for reading files.

Inherited from: \PearPackageTask::$$dir
Details
Type
n/a
Inherited_from
\PearPackageTask::$$dir  
Propertyprotected\FileSet  $fileset= ''
Details
Type
\FileSet
Inherited_from
\MatchingTask::$$fileset  
Inherited_from
\PearPackageTask::$$fileset  
Propertyprivatearray  $filesets= 'array()'
inherited

FileSet[]Inherited from: \PearPackageTask::$$filesets
Default valuearray()Details
Type
array
Inherited_from
\PearPackageTask::$$filesets  
Propertyprotected\Location  $location= ''
inherited

Stored buildfile location

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

Nested <mapping> (complex options) types.

Inherited from: \PearPackageTask::$$mappings
Default valuearray()Details
Type
n/a
Inherited_from
\PearPackageTask::$$mappings  
Propertyprotectedarray  $options= 'array()'
inherited

PearPkgOption[]Inherited from: \PearPackageTask::$$options
Default valuearray()Details
Type
array
Inherited_from
\PearPackageTask::$$options  
Propertyprotected  $package= ''
inherited

Inherited from: \PearPackageTask::$$package
Details
Type
n/a
Inherited_from
\PearPackageTask::$$package  
Propertyprivate  $packageFile= ''
inherited

Package file

Inherited from: \PearPackageTask::$$packageFile
Details
Type
n/a
Inherited_from
\PearPackageTask::$$packageFile  
Propertyprotected\PEAR_PackageFileManager  $pkg= ''
inherited

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

Nested <role> elements

Inherited from: \PearPackageTask::$$roles
Default valuearray()Details
Type
\PearPkgRole[]
Inherited_from
\PearPackageTask::$$roles  
Propertyprotected\Target  $target= ''
inherited

Owning Target object

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

Internal taskname (req)

Inherited from: \Task::$$taskType\MatchingTask::$$taskType\PearPackageTask::$$taskType
Details
Type
string
Inherited_from
\Task::$$taskType  
Inherited_from
\MatchingTask::$$taskType  
Inherited_from
\PearPackageTask::$$taskType  
Propertyprotectedboolean  $useDefaultExcludes= 'true'
Default valuetrueDetails
Type
boolean
Inherited_from
\MatchingTask::$$useDefaultExcludes  
Inherited_from
\PearPackageTask::$$useDefaultExcludes  
Propertyprotected\RuntimeConfigurable  $wrapper= ''
inherited

Wrapper of the task

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

Methods

methodpublic__construct( ) : void
inherited

Create instance; set fileset to new FileSet.

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

Nested creator, creates a FileSet for this task

Inherited from: \PearPackageTask::addFileSet()
Parameters
Name Type Description
$fs
methodpublicappendSelector( \FileSelector $selector ) : void
inherited

Add a new selector into this container.

Inherited from: \MatchingTask::appendSelector()\PearPackageTask::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()\PearPackageTask::createAnd()
Returns
Type Description
\AndSelector
methodpubliccreateContains( ) : \ContainsSelector
inherited

add a contains selector entry on the selector list

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

add an extended selector entry on the selector list

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

add a selector date entry on the selector list

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

add a depends selector entry on the selector list

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

add a depth selector entry on the selector list

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

add a name entry on the exclude list

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

add a name entry on the include files list

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

add a selector filename entry on the selector list

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

add a name entry on the include list

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

add a name entry on the include files list

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

add a majority selector entry on the selector list

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

Handles nested generic

Inherited from: \PearPackageTask::createMapping()
methodpubliccreateNone( ) : \NoneSelector
inherited

add a "None" selector entry on the selector list

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

add a "Not" selector entry on the selector list

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

Handles nested generic

Inherited from: \PearPackageTask::createOption()
methodpubliccreateOr( ) : void
inherited

add an "Or" selector entry on the selector list

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

add a set of patterns

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

add a present selector entry on the selector list

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

Handles nested elements

Inherited from: \PearPackageTask::createRole()
Returns
Type Description
\PearPkgRole
methodpubliccreateSelector( ) : \SelectSelector
inherited

add a "Select" selector entry on the selector list

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

add a selector size entry on the selector list

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

Fixes the boolean in optional dependencies

Inherited from: \PearPackageTask::fixDeps()
Parameters
Name Type Description
$deps
methodpublicgetDescription( ) : string
inherited

Returns the textual description of the task

Inherited from: \Task::getDescription()\MatchingTask::getDescription()\PearPackageTask::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()\PearPackageTask::getDirectoryScanner()
Parameters
Name Type Description
$baseDir
Returns
Type Description
\DirectoryScanner
methodpublicgetFileSets( ) : array
inherited

Used by the PEAR_PackageFileManager_PhingFileSet lister.

Inherited from: \PearPackageTask::getFileSets()
Returns
Type Description
array FileSet[]
methodprotectedgetImplicitFileSet( ) : \FileSet
finalinherited

Accessor for the implict fileset.

Inherited from: \MatchingTask::getImplicitFileSet()\PearPackageTask::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()\PearPackageTask::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()\PearPackageTask::getOwningTarget()
Returns
Type Description
\Target The target object that owns this task
methodpublicgetProject( ) : \Project
Returns
Type Description
\Project Reference to current porject object
methodprotectedgetRegisterSlot( string $slotName ) : void
Parameters
Name Type Description
$slotName string
methodpublicgetRuntimeConfigurableWrapper( ) : \RuntimeConfigurable
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()\PearPackageTask::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()\PearPackageTask::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()\PearPackageTask::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()\PearPackageTask::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()\PearPackageTask::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()\PearPackageTask::maybeConfigure()
methodpublicperform( ) : void
inherited

Perfrom this task

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

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

Inherited from: \PearPackageTask::populateOptions()
methodpublicselectorCount( ) : int
inherited

Gives the count of the number of selectors in this container

Inherited from: \MatchingTask::selectorCount()\PearPackageTask::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()\PearPackageTask::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()\PearPackageTask::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()\PearPackageTask::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()\PearPackageTask::setDescription()
Parameters
Name Type Description
$desc string

The text describing the task

methodpublicsetDestFile(  $f ) : void
inherited

Sets the file to use for generated package.xml

Inherited from: \PearPackageTask::setDestFile()
Parameters
Name Type Description
$f
methodpublicsetDir( \PhingFile $f ) : void
inherited

Sets "dir" property from XML.

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

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

methodpublicsetName( string $v ) : void
inherited

Sets "name" property from XML.

Inherited from: \PearPackageTask::setName()
Parameters
Name Type Description
$v string
methodprotectedsetOptions( ) : void
inherited

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

Inherited from: \PearPackageTask::setOptions()
methodpublicsetOwningTarget( \Target $target ) : void
inherited

Sets the owning target this task belongs to.

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

Reference to owning target

methodpublicsetPackage( string $v ) : void
inherited

Set "package" property from XML.

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

The type of this task (XML Tag)

methodprotectedsetVersion2Options( ) : void

Documentation was generated by DocBlox 0.18.1.