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
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.
falseDetails- Type
- boolean

boolean
$escape= 'false'
Whether to escape shell command using escapeshellcmd().
falseDetails- Type
- boolean

integer
$logLevel= 'Project::MSG_VERBOSE'
Logging level for status messages
Project::MSG_VERBOSEDetails- Type
- integer

boolean
$logOutput= 'false'
Whether to log returned output as MSG_INFO instead of MSG_VERBOSE
falseDetails- Type
- boolean

string
$outputProperty= ''
Property name to set with output value from exec call.
- Type
- string

boolean
$passthru= 'false'
Whether to use PHP's passthru() function instead of exec()
falseDetails- Type
- boolean

string
$returnProperty= ''
Property name to set with return value from exec call.
- Type
- string
Methods

buildCommand(
)
:
voidBuilds the full command to execute and stores it in $command.
- Uses
- \$command

cleanup(
integer $return, array $output
)
:
voidRuns all tasks after command execution: - change working directory back - log output - verify return value
| Name | Type | Description |
|---|---|---|
| $return | integer | Return code |
| $output | array | Array with command output |

createArg(
)
:
\CommandlineArgumentCreates a nested
| Type | Description |
|---|---|
| \CommandlineArgument | Argument object |

executeCommand(
)
:
arrayExecutes the command and returns return code and output.
| Type | Description |
|---|---|
| array | array(return code, array with output) |

isApplicable(
)
:
booleanChecks whether the command shall be executed
| Type | Description |
|---|---|
| boolean | False if the exec command shall not be run |

prepare(
)
:
voidPrepares the command building and execution, i.e.
changes to the specified directory.

setCheckreturn(
boolean $checkreturn
)
:
voidWhether to check the return code.
| Name | Type | Description |
|---|---|---|
| $checkreturn | boolean | If the return code shall be checked |

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

setDir(
\PhingFile $dir
)
:
voidSpecify the working directory for executing this command.
| Name | Type | Description |
|---|---|---|
| $dir | \PhingFile | Working directory |

setError(
\PhingFile $f
)
:
voidFile to which error output should be written.
| Name | Type | Description |
|---|---|---|
| $f | \PhingFile | Error log file |

setEscape(
boolean $escape
)
:
voidWhether to use escapeshellcmd() to escape command.
| Name | Type | Description |
|---|---|---|
| $escape | boolean | If the command shall be escaped or not |

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

setLevel(
string $level
)
:
voidSet level of log messages generated (default = verbose)
| Name | Type | Description |
|---|---|---|
| $level | string | Log level |

setLogoutput(
boolean $logOutput
)
:
voidWhether to log returned output as MSG_INFO instead of MSG_VERBOSE
| Name | Type | Description |
|---|---|---|
| $logOutput | boolean | If output shall be logged visibly |

setOs(
string $os
)
:
voidSpecify OS (or muliple OS) that must match in order to execute this command.
| Name | Type | Description |
|---|---|---|
| $os | string | Operating system string (e.g. "Linux") |

setOutput(
\PhingFile $f
)
:
voidFile to which output should be written.
| Name | Type | Description |
|---|---|---|
| $f | \PhingFile | Output log file |

setOutputProperty(
string $prop
)
:
voidThe name of property to set to output value from exec() call.
| Name | Type | Description |
|---|---|---|
| $prop | string | Property name |

setPassthru(
boolean $passthru
)
:
voidWhether to use PHP's passthru() function instead of exec()
| Name | Type | Description |
|---|---|---|
| $passthru | boolean | If passthru shall be used |

setReturnProperty(
string $prop
)
:
voidThe name of property to set to return value from exec() call.
| Name | Type | Description |
|---|---|---|
| $prop | string | Property name |

setSpawn(
boolean $spawn
)
:
voidWhether to suppress all output and run in the background.
| Name | Type | Description |
|---|---|---|
| $spawn | boolean | If the command is to be run in the background |