mirror of
https://github.com/danog/psalm.git
synced 2024-12-14 02:07:37 +01:00
34 lines
703 B
PHP
34 lines
703 B
PHP
|
<?php
|
||
|
|
||
|
namespace Psalm\Internal\ExecutionEnvironment;
|
||
|
|
||
|
/**
|
||
|
* @author Kitamura Satoshi <with.no.parachute@gmail.com>
|
||
|
* @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||
|
*
|
||
|
* @internal
|
||
|
*/
|
||
|
final class SystemCommandExecutor
|
||
|
{
|
||
|
/**
|
||
|
* Execute command.
|
||
|
*
|
||
|
* @param string $command
|
||
|
*
|
||
|
* @throws \RuntimeException
|
||
|
*
|
||
|
* @return string[]
|
||
|
*/
|
||
|
public function execute(string $command) : array
|
||
|
{
|
||
|
exec($command, $result, $returnValue);
|
||
|
|
||
|
if ($returnValue === 0) {
|
||
|
/** @var string[] */
|
||
|
return $result;
|
||
|
}
|
||
|
|
||
|
throw new \RuntimeException(sprintf('Failed to execute command: %s', $command), $returnValue);
|
||
|
}
|
||
|
}
|