public function registerEnvironment(Container $container)
{
$container->register('environment.provider.uname', function (Container $container) {
return new Provider\Uname();
}, ['environment_provider' => []]);
$container->register('environment.provider.php', function (Container $container) {
return new Provider\Php($container->get('benchmark.remote.launcher'), $container->getParameter('php_binary') !== PHP_BINARY && $container->getParameter('php_binary') !== null);
}, ['environment_provider' => []]);
$container->register('environment.provider.unix_sysload', function (Container $container) {
return new Provider\UnixSysload();
}, ['environment_provider' => []]);
$container->register('environment.provider.git', function (Container $container) {
return new Provider\Git();
}, ['environment_provider' => []]);
$container->register('environment.provider.baseline', function (Container $container) {
return new Provider\Baseline($container->get('benchmark.baseline_manager'), $container->getParameter('env_baselines'));
}, ['environment_provider' => []]);
$container->register('environment.supplier', function (Container $container) {
$supplier = new Supplier();
foreach ($container->getServiceIdsForTag('environment_provider') as $serviceId => $attributes) {
$provider = $container->get($serviceId);
$supplier->addProvider($provider);
}
return $supplier;
});
}