protected function execute(InputInterface $input, OutputInterface $output)
{
$runtimeTask = new RuntimeTask($this, $this->definedTask, $input, $output);
if ($output->isVerbose()) {
$output->writeln("<info>Starting </info>" . $this->definedTask->getName());
}
$this->ancestry[] = $this->definedTask->getName();
if ($output->isDebug()) {
$output->writeln("<info>Current ancestry is </info>" . implode(" > ", $this->ancestry));
}
$this->runBeforeTask($output);
if ($output->isVerbose()) {
$output->writeln("<info>Running </info>" . $this->definedTask->getName());
}
$retVal = $this->fire($runtimeTask);
$this->runAfterTask($output);
if ($output->isVerbose()) {
$output->writeln("<info>Finished </info>" . $this->definedTask->getName());
}
return $retVal;
}