Install via Composer:
...
"require-dev": {
"task/process": "~0.2"
}
...Inject into the project container:
use Task\Plugin\ProcessPlugin;
$project->inject(function ($container) {
$container['ps'] = new ProcessPlugin;
});
$project->addTask('whoami', ['ps', function ($ps) {
$ps->run('whoami')->pipe($this->getOutput());
}]);run($command, array $args = [], $cwd = null, array $env = [], OutputInterface $output = null)$command - The command run:
run('whoami');array $args = [] - An array of command line arguments:
run('ls', ['-la']);$cwd = null - The directory to execute the command in:
run('du', ['-hs'], '/path/to/my/project');$env - An array of environment variables:
run('myscript', [], null, ['DEBUG' => 1]);build($command, array $args = [])Accepts the same $command and $args arguments as run, but returns an instance of Task\Plugin\Process\ProcessBuilder, which thinly wraps Symfony's ProcessBuilder, providing an OO interface to confguration a command.
