public function build(Container $container) { foreach ($container->getServiceIdsForTag('progress_logger') as $serviceId => $attributes) { $progressLogger = $container->get($serviceId); $container->get('progress_logger.registry')->addProgressLogger($attributes['name'], $progressLogger); } foreach ($container->getServiceIdsForTag('report_generator') as $serviceId => $attributes) { $container->get('report.registry.generator')->registerService($attributes['name'], $serviceId); } foreach ($container->getServiceIdsForTag('report_renderer') as $serviceId => $attributes) { $container->get('report.registry.renderer')->registerService($attributes['name'], $serviceId); } foreach ($container->getServiceIdsForTag('benchmark_executor') as $serviceId => $attributes) { $container->get('benchmark.registry.executor')->registerService($attributes['name'], $serviceId); } $generatorConfigs = array_merge(require __DIR__ . '/config/report/generators.php', $container->getParameter('reports')); foreach ($generatorConfigs as $name => $config) { $container->get('report.registry.generator')->setConfig($name, $config); } $rendererConfigs = array_merge(require __DIR__ . '/config/report/renderers.php', $container->getParameter('outputs')); foreach ($rendererConfigs as $name => $config) { $container->get('report.registry.renderer')->setConfig($name, $config); } $executorConfigs = array_merge(require __DIR__ . '/config/benchmark/executors.php', $container->getParameter('executors')); foreach ($executorConfigs as $name => $config) { $container->get('benchmark.registry.executor')->setConfig($name, $config); } $this->relativizeConfigPath($container); }
public function build(Container $container) { foreach ($container->getServiceIdsForTag('progress_logger') as $serviceId => $attributes) { $progressLogger = $container->get($serviceId); $container->get('progress_logger.registry')->addProgressLogger($attributes['name'], $progressLogger); } foreach ($container->getServiceIdsForTag('report_generator') as $serviceId => $attributes) { $reportGenerator = $container->get($serviceId); $container->get('report.manager')->addGenerator($attributes['name'], $reportGenerator); } foreach ($container->getServiceIdsForTag('report_renderer') as $serviceId => $attributes) { $reportRenderer = $container->get($serviceId); $container->get('report.manager')->addRenderer($attributes['name'], $reportRenderer); } foreach ($container->getParameter('reports') as $reportName => $report) { $container->get('report.manager')->addReport($reportName, $report); } foreach ($container->getParameter('outputs') as $outputName => $output) { $container->get('report.manager')->addOutput($outputName, $output); } $this->relativizeConfigPath($container); }
private function registerStorage(Container $container) { $container->register('storage.driver_registry', function (Container $container) { $registry = new Registry('storage', $container, $container->getParameter('storage')); foreach ($container->getServiceIdsForTag('storage_driver') as $serviceId => $attributes) { $registry->registerService($attributes['name'], $serviceId); } return $registry; }); $container->register('storage.archiver_registry', function (Container $container) { $registry = new Registry('archiver', $container, $container->getParameter('archiver')); foreach ($container->getServiceIdsForTag('storage_archiver') as $serviceId => $attributes) { $registry->registerService($attributes['name'], $serviceId); } return $registry; }); $container->register('storage.driver.xml', function (Container $container) { return new XmlDriver($container->getParameter('xml_storage_path'), $container->get('serializer.encoder.xml'), $container->get('serializer.decoder.xml')); }, ['storage_driver' => ['name' => 'xml']]); $container->register('storage.uuid_resolver', function (Container $container) { return new UuidResolver($container->get('storage.driver_registry')); }); $container->register('storage.archiver.xml', function (Container $container) { return new Storage\Archiver\XmlArchiver($container->get('storage.driver_registry'), $container->get('serializer.encoder.xml'), $container->get('serializer.decoder.xml'), $container->getParameter('archive_path')); }, ['storage_archiver' => ['name' => 'xml']]); }