diff --git a/bin/rector.php b/bin/rector.php index e3cb2944cc3..5dc0d7c3758 100644 --- a/bin/rector.php +++ b/bin/rector.php @@ -1,7 +1,10 @@ create(); -// Run Console Application -/** @var Application $application */ -$application = $container->get(Application::class); -$application->run(); +try { + // 1. Detect configuration + ConfigFilePathHelper::detectFromInput('rector', new ArgvInput); + + // 2. Build DI container + $containerFactory = new ContainerFactory; + $configFile = ConfigFilePathHelper::provide('rector', 'rector.yml'); + + if ($configFile) { + $container = $containerFactory->createWithConfig($configFile); + } else { + $container = $containerFactory->create(); + } + + // 3. Run Console Application + /** @var Application $application */ + $application = $container->get(Application::class); + $statusCode = $application->run(); + exit($statusCode); + +} catch (Throwable $throwable) { + $symfonyStyle = SymfonyStyleFactory::create(); + $symfonyStyle->error($throwable->getMessage()); + exit(1); +}