addCompilerPass() public method

Adds a compiler pass.
public addCompilerPass ( Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface $pass, string $type = PassConfig::TYPE_BEFORE_OPTIMIZATION ) : ContainerBuilder
$pass Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface A compiler pass
$type string The type of compiler pass
return ContainerBuilder The current instance
    /**
     * {@inheritdoc}
     */
    public function build(ContainerBuilder $container)
    {
        $container->addCompilerPass(new DelegatingLoaderCloningCompilerPass());
        $routingResourcesProvider = new ExtensionPoint('modera_routing.routing_resources');
        $docs = <<<TEXT
This extension points make it possible for bundles to dynamically contribute routing resources so Symfony can detect them,
this way when a new bundle is added then you don't need to update root routing.yml file every time.
This how a sample contribution could look like:

use Sli\\ExpanderBundle\\Ext\\ContributorInterface;

class RoutingResourcesProvider implements ContributorInterface
{
    /**
     * @inheritDoc
     */
    public function getItems()
    {
        return array(
            '@ModeraBackendLanguagesBundle/Resources/config/routing.yml'
        );
    }
}
TEXT;
        $routingResourcesProvider->setDetailedDescription($docs);
        $routingResourcesProvider->setDescription('Allows to dynamically add routing files.');
        $container->addCompilerPass($routingResourcesProvider->createCompilerPass());
    }
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new ScopePolicyCompilerPass());
     $container->addCompilerPass(new MetadataCompilerPass());
     $container->addCompilerPass(new AuthorizationCodeGrantTypeCompilerPass());
     $container->addCompilerPass(new TokenEndpointCompilerPass());
 }
 protected function setUp()
 {
     $this->container = new ContainerBuilder();
     $this->loader = new YamlFileLoader($this->container, new FileLocator());
     $this->container->addCompilerPass(new ExpandServiceValuesPass());
     $this->container->addCompilerPass(new AutowiringPass());
 }
 public function build(ContainerBuilder $container)
 {
     if (self::getEnvMode()) {
         $container->addCompilerPass(new TwigEnginePass());
         $container->addCompilerPass(new ProfilerCompilerPass());
     }
 }
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new LoggerPass());
     $container->addCompilerPass(new SecurityContextPass());
     $container->addCompilerPass(new TagSubscriberPass());
     $container->addCompilerPass(new HashGeneratorPass());
 }
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new ConfigureMiddlewares('simple_bus.asynchronous.command_bus', 'asynchronous_command_bus_middleware'));
     $container->addCompilerPass(new RegisterHandlers('simple_bus.asynchronous.command_bus.command_handler_map', 'asynchronous_command_handler', 'handles'));
     $container->addCompilerPass(new ConfigureMiddlewares('simple_bus.asynchronous.event_bus', 'asynchronous_event_bus_middleware'));
     $container->addCompilerPass(new RegisterSubscribers('simple_bus.asynchronous.event_bus.event_subscribers_collection', 'asynchronous_event_subscriber', 'subscribes_to'));
 }
 protected function setUp()
 {
     $this->container = new ContainerBuilder();
     $this->mainBusDefinition = new Definition('stdClass');
     $this->container->setDefinition($this->mainBusId, $this->mainBusDefinition);
     $this->container->addCompilerPass(new ConfigureMiddlewares($this->mainBusId, $this->middlewareTag));
 }
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new StatusRendererCompilerPass());
     $container->addCompilerPass(new AdapterCompilerPass());
     $container->addCompilerPass(new FormFactoryCompilerPass());
     $this->registerFormMapping();
 }
Example #9
0
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new Compiler\ConfiguratorPass());
     $container->addCompilerPass(new Compiler\TemplatingPass());
     $container->addCompilerPass(new Compiler\TranslationsPass());
     $container->addCompilerPass(new Compiler\ModelPass());
 }
Example #10
0
 /**
  * @param string $path path to grumphp.yml
  *
  * @return ContainerBuilder
  */
 public static function buildFromConfiguration($path)
 {
     $container = new ContainerBuilder();
     $container->setProxyInstantiator(new RuntimeInstantiator());
     // Add compiler passes:
     $container->addCompilerPass(new Compiler\ExtensionCompilerPass());
     $container->addCompilerPass(new Compiler\PhpParserCompilerPass());
     $container->addCompilerPass(new Compiler\TaskCompilerPass());
     $container->addCompilerPass(new RegisterListenersPass('event_dispatcher', 'grumphp.event_listener', 'grumphp.event_subscriber'));
     // Load basic service file + custom user configuration
     $loader = new YamlFileLoader($container, new FileLocator(__DIR__ . '/../../../resources/config'));
     $loader->load('formatter.yml');
     $loader->load('linters.yml');
     $loader->load('parameters.yml');
     $loader->load('parsers.yml');
     $loader->load('services.yml');
     $loader->load('subscribers.yml');
     $loader->load('tasks.yml');
     $loader->load('util.yml');
     // Load grumphp.yml file:
     $filesystem = new Filesystem();
     if ($filesystem->exists($path)) {
         $loader->load($path);
     }
     // Compile configuration to make sure that tasks are added to the taskrunner
     $container->compile();
     return $container;
 }
 /**
  * Initialize the service container (and extensions), and load the config file
  *
  * @param \Symfony\Component\Console\Input\InputInterface $input
  * @param \Symfony\Component\Console\Output\OutputInterface $output
  *
  * @throws \Exception if user-provided configuration file causes an error
  */
 protected function initialize(InputInterface $input, OutputInterface $output)
 {
     $root = $input->getArgument('root');
     // Setup container
     $containerBuilder = new ContainerBuilder();
     $extension = new BrancherExtension();
     $containerBuilder->registerExtension($extension);
     $containerBuilder->addCompilerPass(new ExtensionCompilerPass());
     $containerBuilder->addCompilerPass(new RegisterListenersPass('event_dispatcher', 'brancher.event_listener', 'brancher.event_subscriber'));
     // Try and load config file
     $locator = new FileLocator([getcwd(), $input->getArgument('root'), __DIR__ . '/../']);
     /** @var \Symfony\Component\DependencyInjection\Loader\FileLoader $loader */
     $loader = new DelegatingLoader(new LoaderResolver([new YamlFileLoader($containerBuilder, $locator), new XmlFileLoader($containerBuilder, $locator), new PhpFileLoader($containerBuilder, $locator), new IniFileLoader($containerBuilder, $locator)]));
     $config = null;
     try {
         $config = $locator->locate($input->getOption('config'));
         $loader->load($input->getOption('config'));
     } catch (\Exception $ex) {
         // Only rethrow if the issue was with the user-provided value
         if ($input->getOption('config') !== '_config.yml') {
             throw $ex;
         }
     }
     // Add in final config from command line options
     $containerBuilder->setParameter('castlepointanime.brancher.build.config', $config);
     $containerBuilder->loadFromExtension($extension->getAlias(), ['build' => array_filter(['config' => dirname($config) ?: $root, 'root' => $root, 'special' => $input->getOption('special'), 'output' => $input->getArgument('output'), 'templates' => array_filter(array_map('realpath', $input->getOption('template-dir')), 'is_dir'), 'data' => $input->getOption('data-dir'), 'exclude' => $input->getOption('exclude')])]);
     $containerBuilder->compile();
     $this->setContainer($containerBuilder);
 }
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $interfaces = array('DAG\\Component\\Option\\Model\\OptionInterface' => 'dag.model.option.class', 'DAG\\Component\\Option\\Model\\OptionValueInterface' => 'dag.model.option_value.class');
     $container->addCompilerPass(new ResolveDoctrineTargetEntitiesPass('dag_option', $interfaces));
     $mappings = array(realpath(__DIR__ . '/Resources/config/doctrine/model') => 'DAG\\Component\\Option\\Model');
     $container->addCompilerPass(DoctrineOrmMappingsPass::createXmlMappingDriver($mappings, array('doctrine.orm.entity_manager'), 'dag_option.driver.doctrine/orm'));
 }
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new CompilerPass\DatagridConfiguratorPass());
     $container->addCompilerPass(new CompilerPass\TwigRenderEnginePass());
     $container->addCompilerPass(new CompilerPass\ExtensionPass());
     $container->addCompilerPass(new CompilerPass\RuntimeLoaderPass());
 }
Example #14
0
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new TemplateResourcesPass());
     $container->addCompilerPass(new TemplateLoaderPass());
     $container->addCompilerPass(new ThemeLoaderPass());
     $container->addCompilerPass(new TwigLoaderPass());
 }
 protected function setUp()
 {
     $this->container = new ContainerBuilder();
     $this->closeBufferHandlersDefinition = new Definition('LongRunning\\Plugin\\MonologPlugin\\CloseBufferHandlers', array(array()));
     $this->container->setDefinition('long_running.monolog.close_buffer_handlers', $this->closeBufferHandlersDefinition);
     $this->container->addCompilerPass(new MonologCleanersPass());
 }
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $interfaces = array('Accard\\Component\\Core\\Model\\PatientPhaseInterface' => 'accard.model.patient_phase.class', 'Accard\\Component\\Core\\Model\\PatientPhaseInstanceInterface' => 'accard.model.patient_phase_instance.class', 'Accard\\Component\\Core\\Model\\DiagnosisPhaseInterface' => 'accard.model.diagnosis_phase.class', 'Accard\\Component\\Core\\Model\\DiagnosisPhaseInstanceInterface' => 'accard.model.diagnosis_phase_instance.class');
     $container->addCompilerPass(new ResolveDoctrineTargetEntitiesPass('accard_core', $interfaces), PassConfig::TYPE_BEFORE_REMOVING);
     $mappings = array(realpath(__DIR__ . '/Resources/config/doctrine/model') => 'Accard\\Component\\Core\\Model');
     $container->addCompilerPass(DoctrineOrmMappingsPass::createXmlMappingDriver($mappings, array('doctrine.orm.entity_manager'), 'accard_core.driver.doctrine/orm'));
 }
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $interfaces = array('Accard\\Component\\Drug\\Model\\DrugInterface' => 'accard.model.drug.class', 'Accard\\Component\\Drug\\Model\\DrugGroupInterface' => 'accard.model.drug_group.class');
     $container->addCompilerPass(new ResolveDoctrineTargetEntitiesPass('accard_drug', $interfaces), PassConfig::TYPE_BEFORE_REMOVING);
     $mappings = array(realpath(__DIR__ . '/Resources/config/doctrine/model') => 'Accard\\Component\\Drug\\Model');
     $container->addCompilerPass(DoctrineOrmMappingsPass::createXmlMappingDriver($mappings, array('doctrine.orm.entity_manager'), 'accard_drug.driver.doctrine/orm'));
 }
Example #18
0
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new SerializerConfigurationPass());
     $container->addCompilerPass(new ConfigurationCheckPass());
     $container->addCompilerPass(new FormatListenerRulesPass());
     $container->addCompilerPass(new TwigExceptionPass());
 }
Example #19
0
 /**
  * {@inheritDoc}
  */
 public function preload(ContainerBuilder $container)
 {
     // load compilers
     $container->addCompilerPass(new AsseticFilterPass());
     $container->addCompilerPass(new AsseticResourceLoaderPass());
     $container->addCompilerPass(new AsseticFormulaLoaderPass());
 }
 /**
  * Initializes the test environment.
  */
 protected function setUp()
 {
     parent::setUp();
     $this->container = $this->createContainer();
     $this->compilerPass = new DecorateTranslatorCompilerPass();
     $this->container->addCompilerPass($this->compilerPass);
 }
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $interfaces = array('Accard\\Component\\Activity\\Model\\ActivityInterface' => 'accard.model.activity.class', 'Accard\\Component\\Activity\\Model\\FieldInterface' => 'accard.model.activity_field.class', 'Accard\\Component\\Activity\\Model\\FieldValueInterface' => 'accard.model.activity_field_value.class', 'Accard\\Component\\Activity\\Model\\PrototypeInterface' => 'accard.model.activity_prototype.class');
     $container->addCompilerPass(new ResolveDoctrineTargetEntitiesPass('accard_activity', $interfaces), PassConfig::TYPE_BEFORE_REMOVING);
     $mappings = array(realpath(__DIR__ . '/Resources/config/doctrine/model') => 'Accard\\Component\\Activity\\Model');
     $container->addCompilerPass(DoctrineOrmMappingsPass::createXmlMappingDriver($mappings, array('doctrine.orm.entity_manager'), 'accard_activity.driver.doctrine/orm'));
 }
Example #22
0
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new TwigEnvironmentPass());
     $container->addCompilerPass(new ApiSerializationPass());
     $container->addCompilerPass(new ValidationPass());
     $container->addCompilerPass(new MailerCompilerPass());
 }
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new SubscribeKernelListenerPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION);
     // RegisterKernelListenersPass is registered on "BEFORE_REMOVING" since 2.3
     $container->addCompilerPass(new SubscribePass(), PassConfig::TYPE_AFTER_REMOVING);
     $container->addCompilerPass(new JmsEventConfigPass());
 }
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new AddProviderCompilerPass());
     $container->addCompilerPass(new GlobalVariablesCompilerPass());
     $container->addCompilerPass(new SecurityContextCompilerPass());
     $this->registerFormMapping();
 }
 /**
  * {@inheritDoc}
  */
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new AddDependencyCallsCompilerPass());
     $container->addCompilerPass(new AddFilterTypeCompilerPass());
     $container->addCompilerPass(new ExtensionCompilerPass());
     $container->addCompilerPass(new GlobalVariablesCompilerPass());
 }
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new RegisterPass());
     $container->addCompilerPass(new CacheWarmerPass());
     $container->addCompilerPass(new LocalePass());
     $container->addCompilerPass(new RestorableCachePass());
 }
 /**
  * {@inheritDoc}
  */
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new ConfigurationPass());
     $container->addCompilerPass(new FormattersPass());
     $container->addCompilerPass(new ActionsPass());
     $container->addCompilerPass(new MassActionsPass());
 }
Example #28
0
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $container->addCompilerPass(new AopCompilerPass());
     $container->addCompilerPass(new CollectOperationRunnersCompilerPass());
     $container->addCompilerPass(new CollectMetricsCollectorsAndPublishers());
     $container->addCompilerPass(new RabbitMqCompilerPass());
 }
 /**
  * {@inheritdoc}
  */
 public function build(ContainerBuilder $container)
 {
     $interfaces = $this->getModelInterfaces();
     if (!empty($interfaces)) {
         $container->addCompilerPass(new ResolveDoctrineTargetEntitiesPass($this->getBundlePrefix(), $interfaces));
     }
     if (null !== $this->getModelNamespace()) {
         $className = get_class($this);
         foreach ($className::getSupportedDrivers() as $driver) {
             list($compilerPassClassName, $compilerPassMethod) = $this->getMappingCompilerPassInfo($driver);
             if (class_exists($compilerPassClassName)) {
                 if (!method_exists($compilerPassClassName, $compilerPassMethod)) {
                     throw new InvalidConfigurationException("The 'mappingFormat' value is invalid, must be 'xml', 'yml' or 'annotation'.");
                 }
                 switch ($this->mappingFormat) {
                     case ResourceBundleInterface::MAPPING_XML:
                     case ResourceBundleInterface::MAPPING_YAML:
                         $container->addCompilerPass($compilerPassClassName::$compilerPassMethod(array($this->getConfigFilesPath() => $this->getModelNamespace()), array(sprintf('%s.object_manager', $this->getBundlePrefix())), sprintf('%s.driver.%s', $this->getBundlePrefix(), $driver)));
                         break;
                     case ResourceBundleInterface::MAPPING_ANNOTATION:
                         $container->addCompilerPass($compilerPassClassName::$compilerPassMethod(array($this->getModelNamespace()), array($this->getConfigFilesPath()), array(sprintf('%s.object_manager', $this->getBundlePrefix())), sprintf('%s.driver.%s', $this->getBundlePrefix(), $driver)));
                         break;
                 }
             }
         }
     }
 }
 protected function setUp()
 {
     $this->container = new ContainerBuilder();
     $this->delegatingCleanerDefinition = new Definition('LongRunning\\Core\\DelegatingCleaner', array(array()));
     $this->container->setDefinition('long_running.delegating_cleaner', $this->delegatingCleanerDefinition);
     $this->container->addCompilerPass(new RegisterCleanersPass());
 }