# classes/phing/tasks/system/ExecTask.php

## \ExecTask
jump to top

Executes a command on the shell.

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

Extends from
  \Task
author
  Andreas Aderhold
author
  Hans Lellelid
author
  Christian Weiske
copyright
  2001,2002 THYRELL. All rights reserved
package
  phing.tasks.system
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'`

Logging level for status messages

Default value `Project` 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( ) :`
`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 |

`executeCommand( ) : array`
Executes the command and returns return code and output.
Returns

Type | Description
--- | ---
array |

`isApplicable( ) : boolean`
Checks whether the command shall be executed
Returns

Type | Description
--- | ---
boolean |

`main( ) : void`
Main method: wraps execute() command.
`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()).

`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

`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

`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

`setReturnProperty( string $prop ) : void`
The name of property to set to return value from exec() call.
Parameters

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

`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

Documentation was generated by DocBlox 0.13.1.