protected function execute(InputInterface $input, OutputInterface $output)
{
$container = $this->getContainer();
/* @var $updaterManager \Knp\Bundle\KnpBundlesBundle\Updater\DeveloperUpdaterManager */
$updaterManager = $container->get('knp_bundles.developer_updater_manager');
$updaterStrategy = $input->getOption('plain') ? $container->get('knp_bundles.developer_updater.strategy.plain') : $container->get('knp_bundles.developer_updater.strategy.rabbit_mq');
$updaterManager->setUpdateStrategy($updaterStrategy);
$updaterManager->setMessenger(function ($developerName) use($output) {
$output->writeln(sprintf('Developer with username "%s" has been updated', $developerName));
});
if ($name = $input->getArgument('name')) {
$updaterManager->updateDeveloperByName($name);
}
if ($input->getOption('all')) {
$updaterManager->updateAll();
}
}