public function run(ContextInterface $context)
{
$config = $this->getConfiguration();
$files = $context->getFiles()->extensions($config['triggered_by']);
if (0 === count($files)) {
return TaskResult::createSkipped($this, $context);
}
$exceptions = [];
foreach ($config['scripts'] as $script) {
try {
$this->runShell($script);
} catch (RuntimeException $e) {
$exceptions[] = $e->getMessage();
}
}
if (count($exceptions)) {
return TaskResult::createFailed($this, $context, implode(PHP_EOL, $exceptions));
}
return TaskResult::createPassed($this, $context);
}