#!/usr/bin/env php
<?php

declare(strict_types = 1);

use Psr\Container\ContainerInterface;
use Symplify\MonorepoBuilder\Compiler\Console\MonorepoBuilderCompilerApplication;
use Symplify\MonorepoBuilder\Compiler\HttpKernel\MonorepoBuilderCompilerKernel;

// use MonorepoBuilder package autoload.php
require_once __DIR__ . '/../vendor/autoload.php';

final class ContainerFactory
{
    public function create(): ContainerInterface
    {
        $environment = 'prod' . random_int(1, 10000000);
        $kernel = new MonorepoBuilderCompilerKernel($environment, true);
        $kernel->boot();

        return $kernel->getContainer();
    }
}

$container = (new ContainerFactory())->create();

/** @var MonorepoBuilderCompilerApplication $application */
$application = $container->get(MonorepoBuilderCompilerApplication::class);
exit($application->run());
