phing-tasks-ext

# Class: PearPackage2Task Source Location: /tasks/ext/PearPackage2Task.php
### Class Overview
    ProjectComponent
       |
       --Task
          |
          --MatchingTask
             |
             --PearPackageTask
                |
                --PearPackage2Task
A task to create a PEAR package.xml version 2.0 file. #### Author(s): Hans Lellelid <hans@xmpl.org> Stuart Binge <stuart.binge@complinet.com> #### Version: $Id: PearPackage2Task.php 552 2009-08-29 12:18:13Z mrook $ #### Copyright: � 2001,2002 THYRELL. All rights reserved | ### Methods init main setVersion2Options
### Inherited Variables #### Class: PearPackageTask PearPackageTask::$dir PearPackageTask::$mappings PearPackageTask::$options PearPackageTask::$package PearPackageTask::$pkg #### Class: MatchingTask MatchingTask::$fileset MatchingTask::$useDefaultExcludes #### Class: Task Task::$description Task::$location Task::$target Task::$taskName Task::$taskType Task::$wrapper #### Class: ProjectComponent ProjectComponent::$project | ### Inherited Methods #### Class: PearPackageTask PearPackageTask::createFileSet() Nested creator, creates a FileSet for this task PearPackageTask::createMapping() Handles nested generic <option> elements. PearPackageTask::createOption() Handles nested generic <option> elements. PearPackageTask::getFileSets() Used by the PEAR_PackageFileManager_PhingFileSet lister. PearPackageTask::init() PearPackageTask::main() Main entry point. PearPackageTask::setDestFile() Sets the file to use for generated package.xml PearPackageTask::setDir() Sets "dir" property from XML. PearPackageTask::setName() Sets "name" property from XML. PearPackageTask::setOptions() Sets PEAR package.xml options, based on class properties. PearPackageTask::setPackage() Set "package" property from XML. #### Class: MatchingTask MatchingTask::__construct() Create instance; set fileset to new FileSet. MatchingTask::appendSelector() Add a new selector into this container. MatchingTask::createAnd() add an "And" selector entry on the selector list MatchingTask::createContains() add a contains selector entry on the selector list MatchingTask::createCustom() add an extended selector entry on the selector list MatchingTask::createDate() add a selector date entry on the selector list MatchingTask::createDepend() add a depends selector entry on the selector list MatchingTask::createDepth() add a depth selector entry on the selector list MatchingTask::createExclude() add a name entry on the exclude list MatchingTask::createExcludesFile() add a name entry on the include files list MatchingTask::createFilename() add a selector filename entry on the selector list MatchingTask::createInclude() add a name entry on the include list MatchingTask::createIncludesFile() add a name entry on the include files list MatchingTask::createMajority() add a majority selector entry on the selector list MatchingTask::createNone() add a "None" selector entry on the selector list MatchingTask::createNot() add a "Not" selector entry on the selector list MatchingTask::createOr() add an "Or" selector entry on the selector list MatchingTask::createPatternSet() add a set of patterns MatchingTask::createPresent() add a present selector entry on the selector list MatchingTask::createSelector() add a "Select" selector entry on the selector list MatchingTask::createSize() add a selector size entry on the selector list MatchingTask::getDirectoryScanner() Returns the directory scanner needed to access the files to process. MatchingTask::getImplicitFileSet() Accessor for the implict fileset. MatchingTask::getSelectors() Returns the set of selectors as an array. MatchingTask::hasSelectors() Indicates whether there are any selectors here. MatchingTask::selectorCount() Gives the count of the number of selectors in this container MatchingTask::selectorElements() Returns an enumerator for accessing the set of selectors. MatchingTask::setCaseSensitive() Sets case sensitivity of the file system MatchingTask::setDefaultexcludes() Sets whether default exclusions should be used or not. MatchingTask::setExcludes() Sets the set of exclude patterns. Patterns may be separated by a comma or a space. MatchingTask::setExcludesfile() Sets the name of the file containing the includes patterns. MatchingTask::setFollowSymlinks() Sets whether or not symbolic links should be followed. MatchingTask::setIncludes() Sets the set of include patterns. Patterns may be separated by a comma or a space. MatchingTask::setIncludesfile() Sets the name of the file containing the includes patterns. MatchingTask::setProject() #### Class: Task Task::getDescription() Returns the textual description of the task Task::getLocation() Returns the location within the buildfile this task occurs. Used by BuildException to give detailed error messages. Task::getOwningTarget() Returns the owning target of this task. Task::getRegisterSlot() Returns a name Task::getRuntimeConfigurableWrapper() Returns the wrapper object for runtime configuration Task::getTaskName() Returns the name of task, used only for log messages Task::getTaskType() Returns the name of the task under which it was invoked, usually the XML tagname Task::init() Called by the parser to let the task initialize properly. Task::log() Provides a project level log event to the task. Task::main() 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. Task::maybeConfigure() Configure this task if it hasn't been done already. Task::perform() Perfrom this task Task::setDescription() Sets a textual description of the task Task::setLocation() Sets the location within the buildfile this task occurs. Called by the parser to set location information. Task::setOwningTarget() Sets the owning target this task belongs to. Task::setRuntimeConfigurableWrapper() Sets the wrapper object this task should use for runtime configurable elements. Task::setTaskName() Sets the name of this task for log messages Task::setTaskType() Sets the type of the task. Usually this is the name of the XML tag #### Class: ProjectComponent ProjectComponent::getProject() Returns a reference to current project ProjectComponent::log() Logs a message with the given priority. ProjectComponent::setProject() References the project to the current component.
### Class Details [line 90] 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 <option> and <mapping> nested elements. All options are set using PEAR_PackageFileManager2::setOptions(). The <option> tag is used to set a simple option value. <option name="option_name" value="option_value"/> or <option name="option_name">option_value</option> The <mapping> tag represents a complex data type. You can use nested <element> (and nested <element> with <element> 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(). <mapping name="option_name"> <element key="key_name" value="key_val"/> <element key="key_name" value="key_val"/> </mapping> Here's an over-simple example of how this could be used: <pearpkg2 name="phing" dir="${build.src.dir}"> <fileset dir="src"> <include name="**"/> </fileset> <option name="outputdirectory" value="./build"/> <option name="packagefile" value="package2.xml"/> <option name="packagedirectory" value="./${build.dist.dir}"/> <option name="baseinstalldir" value="${pkg.prefix}"/> <option name="channel" value="my.pear-channel.com"/> <option name="summary" value="${pkg.summary}"/> <option name="description" value="${pkg.description}"/> <option name="apiversion" value="${pkg.version}"/> <option name="apistability" value="beta"/> <option name="releaseversion" value="${pkg.version}"/> <option name="releasestability" value="beta"/> <option name="license" value="none"/> <option name="phpdep" value="5.0.0"/> <option name="pearinstallerdep" value="1.4.6"/> <option name="packagetype" value="php"/> <option name="notes" value="${pkg.relnotes}"/> <mapping name="maintainers"> <element> <element key="handle" value="hlellelid"/> <element key="name" value="Hans"/> <element key="email" value="hans@xmpl.org"/> <element key="role" value="lead"/> </element> </mapping> </pearpkg2> 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. #### Tags:
author: | Hans Lellelid <hans@xmpl.org>
author: | Stuart Binge <stuart.binge@complinet.com>
version: | $Id: PearPackage2Task.php 552 2009-08-29 12:18:13Z mrook $
copyright: | � 2001,2002 THYRELL. All rights reserved
[ Top ] ### Class Methods ### method init [line 92]
`void init( )`
#### Tags:
access: | public
Overrides PearPackageTask::init() (parent method not documented) [ Top ] ### method main [line 247]
`void main( )`
Main entry point. #### Tags:
access: | public
Overrides PearPackageTask::main() (Main entry point.) [ Top ] ### method setVersion2Options [line 99]
`void setVersion2Options( )`
#### Tags:
access: | protected
[ Top ] Documentation generated on Mon, 19 Oct 2009 10:51:27 +0200 by phpDocumentor 1.4.3