# tasks/system/ExecTask.php

$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
jump to top

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

`boolean $checkreturn= 'false'`

Whether to check the return code.

Default value `false` Details

Type
  boolean

`string $command= ''`

Command to execute.

Details

Type
  string

`\Commandline $commandline= ''`

Commandline managing object

Details

Type
  \Commandline

`\PhingFile $dir= ''`

Working directory.

Details

Type
  \PhingFile

`\File $error= ''`

Where to direct error output.

Details

Type
  \File

`boolean $escape= 'false'`

Whether to escape shell command using escapeshellcmd().

Default value `false` Details

Type
  boolean

`integer $logLevel= 'Project::MSG_VERBOSE'`

Logging level for status messages

Default value `Project::MSG_VERBOSE` Details

Type
  integer

`boolean $logOutput= 'false'`

Whether to log returned output as MSG_INFO instead of MSG_VERBOSE

Default value `false` Details

Type
  boolean

`string $os= ''`

Operating system.

Details

Type
  string

`\File $output= ''`

Where to direct output.

Details

Type
  \File

`string $outputProperty= ''`

Property name to set with output value from exec call.

Details

Type
  string

`boolean $passthru= 'false'`

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

Default value `false` Details

Type
  boolean

`string $returnProperty= ''`

Property name to set with return value from exec call.

Details

Type
  string

`boolean $spawn= 'false'`

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

Default value `false` Details

Type
  boolean

### Methods

`__construct( ) : void`

`buildCommand( ) : void`

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

Details

Uses
  \$command

`cleanup( 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

`createArg( ) : \CommandlineArgument`

Creates a nested tag.

Returns

Type | Description
--- | ---
\CommandlineArgument | Argument object

`executeCommand( ) : array`

Executes the command and returns return code and output.

Returns

Type | Description
--- | ---
array | array(return code, array with output)

`getDescription( ) : void`

`getLocation( ) : void`

`getOwningTarget( ) : void`

`getProject( ) : void`

`getRegisterSlot( ) : void`

`getRuntimeConfigurableWrapper( ) : void`

`getTaskName( ) : void`

`getTaskType( ) : void`

`init( ) : void`

`isApplicable( ) : boolean`

Checks whether the command shall be executed

Returns

Type | Description
--- | ---
boolean | False if the exec command shall not be run

`log( ) : void`

`main( ) : void`

Main method: wraps execute() command.

`maybeConfigure( ) : void`

`perform( ) : void`

`prepare( ) : void`

Prepares the command building and execution, i.e.

changes to the specified directory.

`setCheckreturn( boolean $checkreturn ) : void`

Whether to check the return code.

Parameters

Name | Type | Description
--- | --- | ---
$checkreturn | boolean | If the return code shall be checked

`setCommand( mixed $command ) : void`

The command to use.

Parameters

Name | Type | Description
--- | --- | ---
$command | mixed | String or string-compatible (e.g. w/ __toString()).

`setDescription( ) : void`

`setDir( \PhingFile $dir ) : void`

Specify the working directory for executing this command.

Parameters

Name | Type | Description
--- | --- | ---
$dir | \PhingFile | Working directory

`setError( \PhingFile $f ) : void`

File to which error output should be written.

Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile | Error log file

`setEscape( boolean $escape ) : void`

Whether to use escapeshellcmd() to escape command.

Parameters

Name | Type | Description
--- | --- | ---
$escape | boolean | If the command shall be escaped or not

`setExecutable( mixed $executable ) : void`

The executable to use.

Parameters

Name | Type | Description
--- | --- | ---
$executable | mixed | String or string-compatible (e.g. w/ __toString()).

`setLevel( string $level ) : void`

Set level of log messages generated (default = verbose)

Parameters

Name | Type | Description
--- | --- | ---
$level | string | Log level

`setLocation( ) : void`

`setLogoutput( 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

`setOs( 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")

`setOutput( \PhingFile $f ) : void`

File to which output should be written.

Parameters

Name | Type | Description
--- | --- | ---
$f | \PhingFile | Output log file

`setOutputProperty( string $prop ) : void`

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

Parameters

Name | Type | Description
--- | --- | ---
$prop | string | Property name

`setOwningTarget( ) : void`

`setPassthru( boolean $passthru ) : void`

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

Parameters

Name | Type | Description
--- | --- | ---
$passthru | boolean | If passthru shall be used

`setProject( ) : void`

`setReturnProperty( string $prop ) : void`

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

Parameters

Name | Type | Description
--- | --- | ---
$prop | string | Property name

`setRuntimeConfigurableWrapper( ) : void`

`setSpawn( 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

`setTaskName( ) : void`

`setTaskType( ) : void`

Documentation was generated by DocBlox 0.17.1.