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 $
copyright 2001,2002 THYRELL. All rights reserved

 Methods

Create instance; set fileset to new FileSet.

__construct() 
Inherited
inherited_from \MatchingTask::__construct()
inherited_from \PearPackageTask::__construct()

Nested creator, creates a FileSet for this task

addFileSet(\FileSet $fs) : void
Inherited
inherited_from \PearPackageTask::addFileSet()

Parameters

$fs

Add a new selector into this container.

appendSelector(\FileSelector $selector) : void
Inherited
inherited_from \MatchingTask::appendSelector()
inherited_from \PearPackageTask::appendSelector()

Parameters

$selector

\FileSelector

the new selector to add

add an "And" selector entry on the selector list

createAnd() : \AndSelector
Inherited
inherited_from \MatchingTask::createAnd()
inherited_from \PearPackageTask::createAnd()

Returns

add a contains selector entry on the selector list

createContains() : \ContainsSelector
Inherited
inherited_from \MatchingTask::createContains()
inherited_from \PearPackageTask::createContains()

Returns

add an extended selector entry on the selector list

createCustom() : \ExtendSelector
Inherited
inherited_from \MatchingTask::createCustom()
inherited_from \PearPackageTask::createCustom()

Returns

add a selector date entry on the selector list

createDate() : \DateSelector
Inherited
inherited_from \MatchingTask::createDate()
inherited_from \PearPackageTask::createDate()

Returns

add a depends selector entry on the selector list

createDepend() : \DependSelector
Inherited
inherited_from \MatchingTask::createDepend()
inherited_from \PearPackageTask::createDepend()

Returns

add a depth selector entry on the selector list

createDepth() : \DepthSelector
Inherited
inherited_from \MatchingTask::createDepth()
inherited_from \PearPackageTask::createDepth()

Returns

add a name entry on the exclude list

createExclude() : \PatternSetNameEntry
Inherited
inherited_from \MatchingTask::createExclude()
inherited_from \PearPackageTask::createExclude()

Returns

add a name entry on the include files list

createExcludesFile() : \PatternSetNameEntry
Inherited
inherited_from \MatchingTask::createExcludesFile()
inherited_from \PearPackageTask::createExcludesFile()

Returns

add a selector filename entry on the selector list

createFilename() : \FilenameSelector
Inherited
inherited_from \MatchingTask::createFilename()
inherited_from \PearPackageTask::createFilename()

Returns

add a name entry on the include list

createInclude() : \PatternSetNameEntry
Inherited
inherited_from \MatchingTask::createInclude()
inherited_from \PearPackageTask::createInclude()

Returns

add a name entry on the include files list

createIncludesFile() : \PatternSetNameEntry
Inherited
inherited_from \MatchingTask::createIncludesFile()
inherited_from \PearPackageTask::createIncludesFile()

Returns

add a majority selector entry on the selector list

createMajority() : \MajoritySelector
Inherited
inherited_from \MatchingTask::createMajority()
inherited_from \PearPackageTask::createMajority()

Returns

Handles nested generic <option> elements.

createMapping() 
Inherited
inherited_from \PearPackageTask::createMapping()

add a "None" selector entry on the selector list

createNone() : \NoneSelector
Inherited
inherited_from \MatchingTask::createNone()
inherited_from \PearPackageTask::createNone()

Returns

add a "Not" selector entry on the selector list

createNot() : \NotSelector
Inherited
inherited_from \MatchingTask::createNot()
inherited_from \PearPackageTask::createNot()

Returns

Handles nested generic <option> elements.

createOption() 
Inherited
inherited_from \PearPackageTask::createOption()

add an "Or" selector entry on the selector list

createOr() : void
Inherited
inherited_from \MatchingTask::createOr()
inherited_from \PearPackageTask::createOr()

add a set of patterns

createPatternSet() : \PatternSet
Inherited
inherited_from \MatchingTask::createPatternSet()
inherited_from \PearPackageTask::createPatternSet()

Returns

add a present selector entry on the selector list

createPresent() : \PresentSelector
Inherited
inherited_from \MatchingTask::createPresent()
inherited_from \PearPackageTask::createPresent()

Returns

Handles nested <role> elements

createRole() : \PearPkgRole
Inherited
inherited_from \PearPackageTask::createRole()

Returns

add a "Select" selector entry on the selector list

createSelector() : \SelectSelector
Inherited
inherited_from \MatchingTask::createSelector()
inherited_from \PearPackageTask::createSelector()

Returns

add a selector size entry on the selector list

createSize() : \SizeSelector
Inherited
inherited_from \MatchingTask::createSize()
inherited_from \PearPackageTask::createSize()

Returns

Returns the textual description of the task

getDescription() : string
Inherited
inherited_from \Task::getDescription()
inherited_from \MatchingTask::getDescription()
inherited_from \PearPackageTask::getDescription()

Returns

stringThe text description of the task

Used by the PEAR_PackageFileManager_PhingFileSet lister.

getFileSets() : array
Inherited
inherited_from \PearPackageTask::getFileSets()

Returns

arrayFileSet[]

Returns the location within the buildfile this task occurs.

getLocation() : \Location
Inherited

Used by BuildException to give detailed error messages.

inherited_from \Task::getLocation()
inherited_from \MatchingTask::getLocation()
inherited_from \PearPackageTask::getLocation()

Returns

\LocationThe location object describing the position of this task within the buildfile.

Returns the owning target of this task.

getOwningTarget() : \Target
Inherited
inherited_from \Task::getOwningTarget()
inherited_from \MatchingTask::getOwningTarget()
inherited_from \PearPackageTask::getOwningTarget()

Returns

\TargetThe target object that owns this task

Returns a reference to current project

getProject() : \Project
Inherited
inherited_from \ProjectComponent::getProject()
inherited_from \Task::getProject()
inherited_from \MatchingTask::getProject()
inherited_from \PearPackageTask::getProject()

Returns

\ProjectReference to current porject object

Returns the wrapper object for runtime configuration

getRuntimeConfigurableWrapper() : \RuntimeConfigurable
Inherited
inherited_from \Task::getRuntimeConfigurableWrapper()
inherited_from \MatchingTask::getRuntimeConfigurableWrapper()
inherited_from \PearPackageTask::getRuntimeConfigurableWrapper()

Returns

\RuntimeConfigurableThe wrapper object used by this task

Returns the set of selectors as an array.

getSelectors(\Project $p) : array
Inherited
inherited_from \MatchingTask::getSelectors()
inherited_from \PearPackageTask::getSelectors()

Parameters

$p

Returns

arrayFileSelector[] An array of selectors in this container

Returns the name of task, used only for log messages

getTaskName() : string
Inherited
inherited_from \Task::getTaskName()
inherited_from \MatchingTask::getTaskName()
inherited_from \PearPackageTask::getTaskName()

Returns

stringName of this task

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

getTaskType() : string
Inherited
inherited_from \Task::getTaskType()
inherited_from \MatchingTask::getTaskType()
inherited_from \PearPackageTask::getTaskType()

Returns

stringThe type of this task (XML Tag)

Indicates whether there are any selectors here.

hasSelectors() : boolean
Inherited
inherited_from \MatchingTask::hasSelectors()
inherited_from \PearPackageTask::hasSelectors()

Returns

booleanWhether any selectors are in this container

Called by the parser to let the task initialize properly.

init() 

Should throw a BuildException if something goes wrong with the build

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

Exceptions

\BuildException

Provides a project level log event to the task.

log(string $msg, integer $level) 
Inherited
see \global\BuildEvent
see \global\BuildListener
inherited_from \Task::log()
inherited_from \MatchingTask::log()
inherited_from \PearPackageTask::log()

Parameters

$msg

string

The message to log

$level

integer

The priority of the message

Main entry point.

main() : void

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 phing target1 target2 will run all tasks in target3 twice.

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
inherited_from \Task::maybeConfigure()
inherited_from \MatchingTask::maybeConfigure()
inherited_from \PearPackageTask::maybeConfigure()

Perfrom this task

perform() 
Inherited
inherited_from \Task::perform()
inherited_from \MatchingTask::perform()
inherited_from \PearPackageTask::perform()

Gives the count of the number of selectors in this container

selectorCount() : int
Inherited
inherited_from \MatchingTask::selectorCount()
inherited_from \PearPackageTask::selectorCount()

Returns

intThe number of selectors in this container

Returns an enumerator for accessing the set of selectors.

selectorElements() : \an
Inherited
inherited_from \MatchingTask::selectorElements()
inherited_from \PearPackageTask::selectorElements()

Returns

\anenumerator that goes through each of the selectors

Sets case sensitivity of the file system

setCaseSensitive(boolean $isCaseSensitive) : void
Inherited
inherited_from \MatchingTask::setCaseSensitive()
inherited_from \PearPackageTask::setCaseSensitive()

Parameters

$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) 
Inherited
inherited_from \MatchingTask::setDefaultexcludes()
inherited_from \PearPackageTask::setDefaultexcludes()

Parameters

$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
inherited_from \Task::setDescription()
inherited_from \MatchingTask::setDescription()
inherited_from \PearPackageTask::setDescription()

Parameters

$desc

string

The text describing the task

Sets the file to use for generated package.xml

setDestFile(\PhingFile $f) 
Inherited
inherited_from \PearPackageTask::setDestFile()

Parameters

$f

Sets "dir" property from XML.

setDir(\PhingFile $f) : void
Inherited
inherited_from \PearPackageTask::setDir()

Parameters

Sets the set of exclude patterns.

setExcludes(string $excludes) 
Inherited

Patterns may be separated by a comma or a space.

inherited_from \MatchingTask::setExcludes()
inherited_from \PearPackageTask::setExcludes()

Parameters

$excludes

string

the string containing the exclude patterns

Sets the name of the file containing the includes patterns.

setExcludesfile(\PhingFile $excludesfile) : void
Inherited
inherited_from \MatchingTask::setExcludesfile()
inherited_from \PearPackageTask::setExcludesfile()

Parameters

$excludesfile

\PhingFile

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

Sets the set of include patterns.

setIncludes(string $includes) : void
Inherited

Patterns may be separated by a comma or a space.

inherited_from \MatchingTask::setIncludes()
inherited_from \PearPackageTask::setIncludes()

Parameters

$includes

string

the string containing the include patterns

Sets the name of the file containing the includes patterns.

setIncludesfile(\PhingFile $includesfile) : void
Inherited
inherited_from \MatchingTask::setIncludesfile()
inherited_from \PearPackageTask::setIncludesfile()

Parameters

$includesfile

\PhingFile

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

Sets the location within the buildfile this task occurs.

setLocation(\Location $location) 
Inherited

Called by the parser to set location information.

inherited_from \Task::setLocation()
inherited_from \MatchingTask::setLocation()
inherited_from \PearPackageTask::setLocation()

Parameters

$location

\Location

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

Sets "name" property from XML.

setName(string $v) : void
Inherited
inherited_from \PearPackageTask::setName()

Parameters

$v

string

Sets the owning target this task belongs to.

setOwningTarget(\Target $target) 
Inherited
inherited_from \Task::setOwningTarget()
inherited_from \MatchingTask::setOwningTarget()
inherited_from \PearPackageTask::setOwningTarget()

Parameters

$target

\Target

Reference to owning target

Set "package" property from XML.

setPackage(string $v) : void
Inherited
see \global\setName()
inherited_from \PearPackageTask::setPackage()

Parameters

$v

string

References the project to the current component.

setProject(\Project $project) 
Inherited
see \global\ProjectComponent::setProject()
inherited_from \MatchingTask::setProject()
inherited_from \PearPackageTask::setProject()

Parameters

$project

\Project

The reference to the current project

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

setRuntimeConfigurableWrapper(\RuntimeConfigurable $wrapper) 
Inherited
inherited_from \Task::setRuntimeConfigurableWrapper()
inherited_from \MatchingTask::setRuntimeConfigurableWrapper()
inherited_from \PearPackageTask::setRuntimeConfigurableWrapper()

Parameters

$wrapper

\RuntimeConfigurable

The wrapper object this task should use

Sets the name of this task for log messages

setTaskName(string $name) : string
Inherited
inherited_from \Task::setTaskName()
inherited_from \MatchingTask::setTaskName()
inherited_from \PearPackageTask::setTaskName()

Parameters

$name

string

Returns

stringA string representing the name of this task for log

Sets the type of the task.

setTaskType(string $name) 
Inherited

Usually this is the name of the XML tag

inherited_from \Task::setTaskType()
inherited_from \MatchingTask::setTaskType()
inherited_from \PearPackageTask::setTaskType()

Parameters

$name

string

The type of this task (XML Tag)

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

getDirectoryScanner(\PhingFile $baseDir) : \DirectoryScanner
Inherited
inherited_from \MatchingTask::getDirectoryScanner()
inherited_from \PearPackageTask::getDirectoryScanner()

Parameters

$baseDir

Returns

Accessor for the implict fileset.

getImplicitFileSet() : \FileSet
Inherited
inherited_from \MatchingTask::getImplicitFileSet()
inherited_from \PearPackageTask::getImplicitFileSet()

Returns

Returns a name

getRegisterSlot(string $slotName) 
Inherited
inherited_from \Task::getRegisterSlot()
inherited_from \MatchingTask::getRegisterSlot()
inherited_from \PearPackageTask::getRegisterSlot()

Parameters

$slotName

string

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

setOptions() : void
Inherited
inherited_from \PearPackageTask::setOptions()

setVersion2Options()

setVersion2Options() 

Fixes the boolean in optional dependencies

fixDeps($deps) 
Inherited
inherited_from \PearPackageTask::fixDeps()

Parameters

$deps

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

populateOptions() 
Inherited
inherited_from \PearPackageTask::populateOptions()

 Properties

 

$description : string
Inherited
inherited_from \Task::$$description
inherited_from \MatchingTask::$$description
inherited_from \PearPackageTask::$$description
 

$dir 
Inherited
inherited_from \PearPackageTask::$$dir
 

$fileset : \FileSet
Inherited
inherited_from \MatchingTask::$$fileset
inherited_from \PearPackageTask::$$fileset
 

$location : \Location
Inherited
inherited_from \Task::$$location
inherited_from \MatchingTask::$$location
inherited_from \PearPackageTask::$$location
 

$mappings 
Inherited
inherited_from \PearPackageTask::$$mappings
 

PearPkgOption[]

$options : array
Inherited
inherited_from \PearPackageTask::$$options
 

$package 
Inherited
inherited_from \PearPackageTask::$$package
 

$pkg : \PEAR_PackageFileManager
Inherited
inherited_from \PearPackageTask::$$pkg
 

$project : \Project
Inherited
inherited_from \ProjectComponent::$$project
inherited_from \Task::$$project
inherited_from \MatchingTask::$$project
inherited_from \PearPackageTask::$$project
 

$roles : \PearPkgRole[]
Inherited
inherited_from \PearPackageTask::$$roles
 

$target : \Target
Inherited
inherited_from \Task::$$target
inherited_from \MatchingTask::$$target
inherited_from \PearPackageTask::$$target
 

$taskName : string
Inherited
inherited_from \Task::$$taskName
inherited_from \MatchingTask::$$taskName
inherited_from \PearPackageTask::$$taskName
 

$taskType : string
Inherited
inherited_from \Task::$$taskType
inherited_from \MatchingTask::$$taskType
inherited_from \PearPackageTask::$$taskType
 

$useDefaultExcludes : boolean
Inherited
inherited_from \MatchingTask::$$useDefaultExcludes
inherited_from \PearPackageTask::$$useDefaultExcludes
 

$wrapper : \RuntimeConfigurable
Inherited
inherited_from \Task::$$wrapper
inherited_from \MatchingTask::$$wrapper
inherited_from \PearPackageTask::$$wrapper
 

FileSet[]

$filesets : array
Inherited
inherited_from \PearPackageTask::$$filesets
 

$packageFile 
Inherited
inherited_from \PearPackageTask::$$packageFile
 

$preparedOptions 
Inherited
inherited_from \PearPackageTask::$$preparedOptions