classes/phing/tasks/system/PropertyTask.php

\PropertyTask

Task for setting properties in buildfiles.

Use {@link Project#createTask} to register a new Task.

Extends from
\Task
author
Andreas Aderhold
author
Hans Lellelid
copyright
2001,2002 THYRELL. All rights reserved
package
phing.tasks.system
version
$Revision: 552 $

Properties

Propertyprotected  $env= ''
Details
Type
Propertyprotected  $fallback= ''
Details
Type
Propertyprotected  $file= ''
Details
Type
Propertyprotected  $name= ''

name of the property

Details
Type
Propertyprotected  $override= 'false'

Whether to force overwrite of existing property.

Default valuefalseDetails
Type
Propertyprotected  $prefix= ''
Details
Type
Propertyprotected  $ref= ''
Details
Type
Propertyprotected  $reference= ''
Details
Type
Propertyprotected  $userProperty= 'false'

Whether property should be treated as "user" property.

Default valuefalseDetails
Type
Propertyprotected  $value= ''

value of the property

Details
Type

Methods

methodprotected  addProperties(  $props ) :
iterate through a set of properties, resolve them then assign them
Parameters
Name Type Description
$props
methodprotected  addProperty( string $name, string $value ) :
add a name value pair to the project property set
Parameters
Name Type Description
$name string name of property
$value string value to set
methodpublic  addText(  $value ) :
Sets value of property to CDATA tag contents.
Parameters
Name Type Description
$value
Details
since
2.2.0
methodpublic  getEnvironment( ) :
methodpublic  getFallback( ) :
methodpublic  getFile( ) :
Get the PhingFile that is being used as property source.
methodpublic  getName( ) :
Get property component name.
methodpublic  getOverride( ) :
methodpublic  getPrefix( ) : string
Returns
Type Description
string
Details
since
2.0
methodpublic  getRefid( ) :
methodpublic  getUserProperty( ) :
methodpublic  getValue( ) :
Get the value of current property component.
methodprotected  loadEnvironment( string $prefix ) :
load the environment values
Parameters
Name Type Description
$prefix string prefix to place before them
methodprotected  loadFile( \PhingFile $file ) :
load properties from a file.
Parameters
Name Type Description
$file \PhingFile
methodpublic  main( ) :
set the property in the project to the value.

if the task was give a file or env attribute here is where it is loaded

methodprotected  parsePropertyString( string $value, array $fragments, array $propertyRefs ) :
This method will parse a string containing ${value} style property values into two lists. The first list is a collection of text fragments, while the other is a set of string property names null entries in the first list indicate a property reference from the second list.

This is slower than regex, but useful for this class, which has to handle multiple parsing passes for properties.

Parameters
Name Type Description
$value string The string to be scanned for property references
$fragments array

&$fragments The found fragments

$propertyRefs array

&$propertyRefs The found refs

methodprotected  resolveAllProperties( \Properties $props ) : void
Given a Properties object, this method goes through and resolves any references to properties within the object.
Parameters
Name Type Description
$props \Properties The collection of Properties that need to be resolved.
methodpublic  setEnvironment( \env $env ) :
the prefix to use when retrieving environment variables.

Thus if you specify environment="myenv" you will be able to access OS-specific environment variables via property names "myenv.PATH" or "myenv.TERM".

<

p> Note that if you supply a property name with a final "." it will not be doubled. ie environment="myenv." will still allow access of environment variables through "myenv.PATH" and "myenv.TERM". This functionality is currently only implemented on select platforms. Feel free to send patches to increase the number of platforms this functionality is supported on ;).
Note also that properties are case sensitive, even if the environment variables on your operating system are not, e.g. it will be ${env.Path} not ${env.PATH} on Windows 2000.

Parameters
Name Type Description
$env \env prefix
methodpublic  setFallback( \Project $p ) :
Parameters
Name Type Description
$p \Project
methodpublic  setFile(  $file ) :
Set a file to use as the source for properties.
Parameters
Name Type Description
$file
methodpublic  setName(  $name ) :
Sets a the name of current property component
Parameters
Name Type Description
$name
methodpublic  setOverride(  $v ) :
Parameters
Name Type Description
$v
methodpublic  setPrefix( string $prefix ) : void
Prefix to apply to properties loaded using file.

A "." is appended to the prefix if not specified.

Parameters
Name Type Description
$prefix string prefix string
Details
since
2.0
methodpublic  setRefid(  $ref ) :
Parameters
Name Type Description
$ref
methodpublic  setUserProperty( boolean $v ) :
Set whether this is a user property (ro).

This is deprecated in Ant 1.5, but the userProperty attribute of the class is still being set via constructor, so Phing will allow this method to function.

Parameters
Name Type Description
$v boolean
methodpublic  setValue( mixed $value ) :
Sets a the value of current property component.
Parameters
Name Type Description
$value mixed Value of name, all scalars allowed
methodpublic  toString( ) :
Documentation was generated by DocBlox 0.13.1.