tasks/system/ExecTask.php

Show: inherited
Table of Contents

\ExecTask

Package: phing\tasks\system

Executes a command on the shell.

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

Parent(s)
\Task < \ProjectComponent
Author
Andreas Aderhold  
Author
Hans Lellelid  
Author
Christian Weiske  
Copyright
2001,2002 THYRELL. All rights reserved  
Version
$Id: 3101d1403eeb4fe4fe8bae729b7d918b303de1cf $  

Properties

Propertyprotectedboolean  $checkreturn= 'false'

Whether to check the return code.

Default valuefalseDetails
Type
boolean
Propertyprotectedstring  $command= ''

Command to execute.

Details
Type
string
Propertyprotected\Commandline  $commandline= ''

Commandline managing object

Details
Type
\Commandline
Propertyprotectedstring  $description= ''
inherited

Description of the task

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

Working directory.

Details
Type
\PhingFile
Propertyprotected\File  $error= ''

Where to direct error output.

Details
Type
\File
Propertyprotectedboolean  $escape= 'false'

Whether to escape shell command using escapeshellcmd().

Default valuefalseDetails
Type
boolean
Propertyprotected\Location  $location= ''
inherited

Stored buildfile location

Inherited from: \Task::$$location
Details
Type
\Location
Inherited_from
\Task::$$location  
Propertyprotectedinteger  $logLevel= 'Project::MSG_VERBOSE'

Logging level for status messages

Default valueProject::MSG_VERBOSEDetails
Type
integer
Propertyprotectedboolean  $logOutput= 'false'

Whether to log returned output as MSG_INFO instead of MSG_VERBOSE

Default valuefalseDetails
Type
boolean
Propertyprotectedstring  $os= ''

Operating system.

Details
Type
string
Propertyprotected\File  $output= ''

Where to direct output.

Details
Type
\File
Propertyprotectedstring  $outputProperty= ''

Property name to set with output value from exec call.

Details
Type
string
Propertyprotectedboolean  $passthru= 'false'

Whether to use PHP's passthru() function instead of exec()

Default valuefalseDetails
Type
boolean
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
Default valuenullDetails
Type
\Project
Inherited_from
\ProjectComponent::$$project  
Inherited_from
\Task::$$project  
Propertyprotectedstring  $returnProperty= ''

Property name to set with return value from exec call.

Details
Type
string
Propertyprotectedboolean  $spawn= 'false'

If spawn is set then [unix] programs will redirect stdout and add '&'.

Default valuefalseDetails
Type
boolean
Propertyprotected\Target  $target= ''
inherited

Owning Target object

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

Taskname for logger

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

Internal taskname (req)

Inherited from: \Task::$$taskType
Details
Type
string
Inherited_from
\Task::$$taskType  
Propertyprotected\RuntimeConfigurable  $wrapper= ''
inherited

Wrapper of the task

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

Methods

methodpublic__construct( ) : void

methodprotectedbuildCommand( ) : void

Builds the full command to execute and stores it in $command.

Details
Uses
\$command  
methodprotectedcleanup( integer $return, array $output ) : void

Runs all tasks after command execution: - change working directory back - log output - verify return value

Parameters
Name Type Description
$return integer

Return code

$output array

Array with command output

methodpubliccreateArg( ) : \CommandlineArgument

Creates a nested tag.

Returns
Type Description
\CommandlineArgument Argument object
methodprotectedexecuteCommand( ) : array

Executes the command and returns return code and output.

Returns
Type Description
array array(return code, array with output)
methodpublicgetDescription( ) : string
inherited

Returns the textual description of the task

Inherited from: \Task::getDescription()
Returns
Type Description
string The text description of the task
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()
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()
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()
Returns
Type Description
\Project Reference to current porject object
methodprotectedgetRegisterSlot( string $slotName ) : void
inherited

Returns a name

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

Returns the wrapper object for runtime configuration

Inherited from: \Task::getRuntimeConfigurableWrapper()
Returns
Type Description
\RuntimeConfigurable The wrapper object used by this task
methodpublicgetTaskName( ) : string
inherited

Returns the name of task, used only for log messages

Inherited from: \Task::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()
Returns
Type Description
string The type of this task (XML Tag)
methodpublicinit( ) : void
inherited

Called by the parser to let the task initialize properly.

Inherited from: \Task::init()

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
methodprotectedisApplicable( ) : boolean

Checks whether the command shall be executed

Returns
Type Description
boolean False if the exec command shall not be run
methodpubliclog( string $msg, integer $level = Project::MSG_INFO ) : void
inherited

Provides a project level log event to the task.

Inherited from: \Task::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 method: wraps execute() command.

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

Perfrom this task

Inherited from: \Task::perform()
methodprotectedprepare( ) : void

Prepares the command building and execution, i.e.

changes to the specified directory.

methodpublicsetCheckreturn( boolean $checkreturn ) : void

Whether to check the return code.

Parameters
Name Type Description
$checkreturn boolean

If the return code shall be checked

methodpublicsetCommand( mixed $command ) : void

The command to use.

Parameters
Name Type Description
$command mixed

String or string-compatible (e.g. w/ __toString()).

methodpublicsetDescription( string $desc ) : void
inherited

Sets a textual description of the task

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

The text describing the task

methodpublicsetDir( \PhingFile $dir ) : void

Specify the working directory for executing this command.

Parameters
Name Type Description
$dir \PhingFile

Working directory

methodpublicsetError( \PhingFile $f ) : void

File to which error output should be written.

Parameters
Name Type Description
$f \PhingFile

Error log file

methodpublicsetEscape( boolean $escape ) : void

Whether to use escapeshellcmd() to escape command.

Parameters
Name Type Description
$escape boolean

If the command shall be escaped or not

methodpublicsetExecutable( mixed $executable ) : void

The executable to use.

Parameters
Name Type Description
$executable mixed

String or string-compatible (e.g. w/ __toString()).

methodpublicsetLevel( string $level ) : void

Set level of log messages generated (default = verbose)

Parameters
Name Type Description
$level string

Log level

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

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

methodpublicsetLogoutput( boolean $logOutput ) : void

Whether to log returned output as MSG_INFO instead of MSG_VERBOSE

Parameters
Name Type Description
$logOutput boolean

If output shall be logged visibly

methodpublicsetOs( string $os ) : void

Specify OS (or muliple OS) that must match in order to execute this command.

Parameters
Name Type Description
$os string

Operating system string (e.g. "Linux")

methodpublicsetOutput( \PhingFile $f ) : void

File to which output should be written.

Parameters
Name Type Description
$f \PhingFile

Output log file

methodpublicsetOutputProperty( string $prop ) : void

The name of property to set to output value from exec() call.

Parameters
Name Type Description
$prop string

Property name

methodpublicsetOwningTarget( \Target $target ) : void
inherited

Sets the owning target this task belongs to.

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

Reference to owning target

methodpublicsetPassthru( boolean $passthru ) : void

Whether to use PHP's passthru() function instead of exec()

Parameters
Name Type Description
$passthru boolean

If passthru shall be used

methodpublicsetProject( \Project $project ) : void
inherited

References the project to the current component.

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

The reference to the current project

methodpublicsetReturnProperty( string $prop ) : void

The name of property to set to return value from exec() call.

Parameters
Name Type Description
$prop string

Property name

methodpublicsetRuntimeConfigurableWrapper( \RuntimeConfigurable $wrapper ) : void
inherited

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

Inherited from: \Task::setRuntimeConfigurableWrapper()
Parameters
Name Type Description
$wrapper \RuntimeConfigurable

The wrapper object this task should use

methodpublicsetSpawn( boolean $spawn ) : void

Whether to suppress all output and run in the background.

Parameters
Name Type Description
$spawn boolean

If the command is to be run in the background

methodpublicsetTaskName( string $name ) : string
inherited

Sets the name of this task for log messages

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

The type of this task (XML Tag)

Documentation was generated by DocBlox 0.18.1.