tasks/system/ExecTask.php

Show: inherited
Table of Contents

$Id: ExecTask.php 1244 2011-07-29 21:38:51Z mrook $

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This software consists of voluntary contributions made by many individuals and is licensed under the LGPL. For more information please see http://phing.info.

\ExecTask

Package: phing\tasks\system

Executes a command on the shell.

Parent(s)
\Task < \ProjectComponent
Author
Andreas Aderhold  
Author
Hans Lellelid  
Author
Christian Weiske  
Version
$Revision: 1244 $  

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
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
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
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

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

methodpublicgetLocation( ) : void

methodpublicgetOwningTarget( ) : void

methodpublicgetProject( ) : void

methodprotectedgetRegisterSlot( ) : void

methodpublicgetRuntimeConfigurableWrapper( ) : void

methodpublicgetTaskName( ) : void

methodpublicgetTaskType( ) : void

methodpublicinit( ) : void

methodprotectedisApplicable( ) : boolean

Checks whether the command shall be executed

Returns
Type Description
boolean False if the exec command shall not be run
methodpubliclog( ) : void

methodpublicmain( ) : void

Main method: wraps execute() command.

methodpublicmaybeConfigure( ) : void

methodpublicperform( ) : void

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

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

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

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

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

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

methodpublicsetTaskType( ) : void

Documentation was generated by DocBlox 0.17.1.