protected function execute(InputInterface $input, OutputInterface $output)
{
$manifest = Manifest::loadFile(self::MANIFEST_FILE);
$currentVersion = Parser::toVersion($this->getApplication()->getVersion());
$update = $manifest->findRecent($currentVersion, true);
if (false === $update instanceof Update) {
$output->writeln(sprintf('You are already using the latest version: <info>%s</info>', $currentVersion));
return 0;
}
$output->writeln(sprintf('Updating to version <info>%s</info>', $update->getVersion()));
$manager = new Manager($manifest);
$manager->update($this->getApplication()->getVersion(), true);
$output->writeln(sprintf('SHA1 verified <info>%s</info>', $update->getSha1()));
}