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

use Shlinkio\Shlink\CLI\Factory\InstallApplicationFactory;
use Shlinkio\Shlink\CLI\Install\Plugin\DatabaseConfigCustomizer;
use Symfony\Component\Console\Application;
use Symfony\Component\Filesystem\Filesystem;
use Zend\ServiceManager\AbstractFactory\ConfigAbstractFactory;
use Zend\ServiceManager\Factory\InvokableFactory;
use Zend\ServiceManager\ServiceManager;

chdir(dirname(__DIR__));

require __DIR__ . '/../vendor/autoload.php';

$container = new ServiceManager([
    'factories' => [
        Application::class => InstallApplicationFactory::class,
        Filesystem::class => InvokableFactory::class,
    ],
    'services' => [
        'config' => [
            ConfigAbstractFactory::class => [
                DatabaseConfigCustomizer::class => [Filesystem::class]
            ],
        ],
    ],
]);
$container->build(Application::class, ['isUpdate' => true])->run();
