bin/bitbucket
#!/usr/bin/env php
<?php
declare(strict_types=1);
require_once __DIR__ . '/../vendor/autoload.php';
use Symfony\Component\Console\Application;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
use Martiis\BitbucketCli\DependencyInjection\Extension;
$container = new ContainerBuilder();
$container
->register(Application::class, Application::class)
->setArguments(['Bitbucket command line tool', '0.1']);
$container->setParameter('cache_dir', __DIR__ . '/../var/cache');
$container->registerExtension(new Extension());
$container->addCompilerPass(new class implements CompilerPassInterface {
public function process(ContainerBuilder $container)
{
foreach ($container->findTaggedServiceIds('console.command') as $id => $tags) {
$container
->getDefinition(Application::class)
->addMethodCall('add', [new Reference($id)]);
}
}
});
$container->loadFromExtension(Extension::class);
$container->compile();
$container->get(Application::class)->run();