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

// Load DI container
$container = require __DIR__ . '/../app/bootstrap.php';

$application = new \Symfony\Component\Console\Application();
$application->addCommands([
    new \Webby\Console\AssetsCommand(
        $container->getByType(\Webby\System\Theme::class),
        $container->getByType(\Webby\System\Assets::class)
    ),
    new \Webby\Console\InstallCommand(),
    new \Webby\Console\PackageCommand(),
    new \Webby\Console\RobotsCommand(
        $container->getByType(\Webby\System\Robots::class)
    ),
    new \Webby\Console\SitemapCommand(
        $container->getByType(\Webby\System\Sitemap::class)
    )
]);

$application->setCatchExceptions(false);
try {
    $output = new Symfony\Component\Console\Output\ConsoleOutput();
    $application->run(null, $output);
} catch (Exception $e) {

    $application->renderException($e, $output);

    \Tracy\Debugger::log($e);
    $statusCode = $e->getCode();
    $statusCode = is_numeric($statusCode) && $statusCode ? $statusCode : 1;
    exit($statusCode);
}