commands([ TestCommand::class, ]); } /** * {@inheritdoc} */ public function register(): void { if ($this->app->runningInConsole() && ! $this->app->runningUnitTests()) { $this->app->bind(Provider::class, function () { if ($this->app->has(SolutionProviderRepository::class)) { /** @var SolutionProviderRepository $solutionProviderRepository */ $solutionProviderRepository = $this->app->get(SolutionProviderRepository::class); $solutionsRepository = new IgnitionSolutionsRepository($solutionProviderRepository); } else { $solutionsRepository = new NullSolutionsRepository(); } $writer = new Writer($solutionsRepository); $handler = new Handler($writer); return new Provider(null, $handler); }); /** @var \Illuminate\Contracts\Debug\ExceptionHandler $appExceptionHandler */ $appExceptionHandler = $this->app->make(ExceptionHandlerContract::class); $this->app->singleton( ExceptionHandlerContract::class, function ($app) use ($appExceptionHandler) { return new ExceptionHandler($app, $appExceptionHandler); } ); } } /** * {@inheritdoc} */ public function provides() { return [Provider::class]; } }