#!/usr/bin/php
<?php
// @link https://www.tomasvotruba.cz/blog/2018/08/02/5-gotchas-of-the-bin-file-in-php-cli-applications/

gc_disable(); // performance boost

require_once '/usr/share/php/Bartlett/CompatInfoDb/config/bootstrap.php';

use Bartlett\CompatInfoDb\Infrastructure\Framework\Symfony\DependencyInjection\ContainerFactory;
use Bartlett\CompatInfoDb\Presentation\Console\ApplicationInterface;

use Symfony\Component\Console\CommandLoader\CommandLoaderInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;

/** @var ContainerBuilder $container */
$container = (new ContainerFactory())->create();

/** @var ApplicationInterface $app */
$app = $container->get(ApplicationInterface::class);
$app->setContainer($container);

// @link https://symfony.com/doc/current/console/lazy_commands.html
$app->setCommandLoader($container->get(CommandLoaderInterface::class));

exit($app->run());
