public function executeProcess($output, $processArguments, $file, $prefixes, $postfixes, $arguments, $options)
{
foreach ($prefixes as $prefix) {
$processArguments[] = $prefix;
}
$processArguments[] = $file;
foreach ($postfixes as $postfix) {
$processArguments[] = $postfix;
}
$processBuilder = new ProcessBuilder($processArguments);
foreach ($arguments as $argument) {
$processBuilder->add($argument);
}
foreach ($options as $optionName => $optionValue) {
$processBuilder->setOption($optionName, $optionValue);
}
$process = $processBuilder->getProcess();
$process->run();
if (!$process->isSuccessful()) {
$output->writeln(sprintf('<error>%s</error>', trim($process->getErrorOutput())));
}
if ($process->getOutput()) {
$output->writeln($process->getOutput());
}
return $process;
}