Add BC setup for deprecated configuration.

Note: kept in separate method for readability.

@param \Symfony\Component\Config\Definition\Builder\NodeBuilder $nodeBuilder
510869
private function setupDeprecatedConfiguration(NodeBuilder $nodeBuilder)
    {
        $nodeBuilder
            ->arrayNode('output_custom_tags')
                ->setDeprecated('DEPRECATED. Configure custom tags using custom_tags node')
                ->info('Custom XSL stylesheets to use for RichText transformation to HTML5. Useful for "custom tags".')
                ->example(
                    [
                        'path' => '%kernel.root_dir%/../src/Acme/TestBundle/Resources/myTag.xsl',
                        'priority' => 10,
                    ]
                )
                ->prototype('array')
                    ->children()
                        ->scalarNode('path')
                            ->info('Path of the XSL stylesheet to load.')
                            ->isRequired()
                        ->end()
                        ->integerNode('priority')
                            ->info('Priority in the loading order. A high value will have higher precedence in overriding XSL templates.')
                            ->defaultValue(0)
                        ->end()
                    ->end()
                ->end()
            ->end()
            ->arrayNode('edit_custom_tags')
                ->setDeprecated('DEPRECATED. Configure custom tags using custom_tags node')
                ->info('Custom XSL stylesheets to use for RichText transformation to HTML5. Useful for "custom tags".')
                ->example(
                    [
                        'path' => '%kernel.root_dir%/../src/Acme/TestBundle/Resources/myTag.xsl',
                        'priority' => 10,
                    ]
                )
                ->prototype('array')
                    ->children()
                        ->scalarNode('path')
                            ->info('Path of the XSL stylesheet to load.')
                            ->isRequired()
                        ->end()
                        ->integerNode('priority')
                            ->info('Priority in the loading order. A high value will have higher precedence in overriding XSL templates.')
                            ->defaultValue(0)
                        ->end()
                    ->end()
                ->end()
            ->end()
            ->arrayNode('input_custom_tags')
                ->setDeprecated('DEPRECATED. Configure custom tags using custom_tags node')
                ->info('Custom XSL stylesheets to use for RichText transformation to HTML5. Useful for "custom tags".')
                ->example(
                    [
                        'path' => '%kernel.root_dir%/../src/Acme/TestBundle/Resources/myTag.xsl',
                        'priority' => 10,
                    ]
                )
                ->prototype('array')
                    ->children()
                        ->scalarNode('path')
                            ->info('Path of the XSL stylesheet to load.')
                            ->isRequired()
                        ->end()
                        ->integerNode('priority')
                            ->info('Priority in the loading order. A high value will have higher precedence in overriding XSL templates.')
                            ->defaultValue(0)
                        ->end()
                    ->end()
                ->end()
            ->end()
            ->arrayNode('tags')
                ->setDeprecated('DEPRECATED. Configure custom tags using custom_tags node')
                ->info('RichText template tags configuration.')
                ->useAttributeAsKey('key')
                ->normalizeKeys(false)
                ->prototype('array')
                    ->info(
                        "Name of RichText template tag.\n" .
                        "'default' and 'default_inline' tag names are reserved for fallback."
                    )
                    ->example('math_equation')
                    ->children()
                        ->append(
                            $this->getTemplateNodeDefinition(
                                'Template used for rendering RichText template tag.',
                                'MyBundle:FieldType/RichText/tag:math_equation.html.twig'
                            )
                        )
                        ->variableNode('config')
                            ->info('Tag configuration, arbitrary configuration is allowed here.')
                        ->end()
                    ->end()
                ->end()
            ->end()
        ;
    }
154820
protected function addDynamoDBConfiguration(ArrayNodeDefinition $rootNode) {
        $rootNode->children()
            ->arrayNode('dynamodb')
                ->children()
                    ->scalarNode('api_version')->defaultValue('2012-08-10')->end()
                    ->scalarNode('region')->isRequired()->end()
                ->end()
            ->end()
        ->end();
    }
738820
public function setNodeType(NodeType $nodeType)
    {
        if ($this->nodeType !== $nodeType->getName()) {
            $this->nodeType = $nodeType->getName();
            $this->addOrUpdate();
        }
    }
1080259
protected function setupRootNode()
    {
        $builder = new TreeBuilder();
        $this->rootNode = $builder->root($this->getBundleName());

        return $this;
    }
505724
public function getNodeBuilder()
    {
        if (!isset($this->nodeBuilder)) {
            $this->nodeBuilder = $this->getGeneratorConfig()->getConfiguredBuilder($this->getTable(), 'node');
        }

        return $this->nodeBuilder;
    }
133578
public function addNodeTypeFilterConstraintsToQueryBuilder(QueryBuilder $queryBuilder, $nodeTypeFilter)
    {
        $constraints = $this->getNodeTypeFilterConstraintsForDql($nodeTypeFilter);
        if (count($constraints['includeNodeTypes']) > 0) {
            $queryBuilder->andWhere('n.nodeType IN (:includeNodeTypes)')
                ->setParameter('includeNodeTypes', $constraints['includeNodeTypes']);
        }
        if (count($constraints['excludeNodeTypes']) > 0) {
            $queryBuilder->andWhere('n.nodeType NOT IN (:excludeNodeTypes)')
                ->setParameter('excludeNodeTypes', $constraints['excludeNodeTypes']);
        }
    }
867488
protected function loadRootNodeListener(ContainerBuilder $container)
    {
        $definition = new Definition('Behat\Testwork\Output\Node\EventListener\ChainEventListener', array(
            array(
                new Definition('Behat\Behat\Output\Node\EventListener\AST\SuiteListener', array(
                    new Reference('output.node.printer.pretty.suite_setup')
                )),
                new Definition('Behat\Behat\Output\Node\EventListener\AST\FeatureListener', array(
                    new Reference('output.node.printer.pretty.feature'),
                    new Reference('output.node.printer.pretty.feature_setup')
                )),
                $this->proxySiblingEvents(
                    BackgroundTested::BEFORE,
                    BackgroundTested::AFTER,
                    array(
                        new Definition('Behat\Behat\Output\Node\EventListener\AST\ScenarioNodeListener', array(
                            BackgroundTested::AFTER_SETUP,
                            BackgroundTested::AFTER,
                            new Reference('output.node.printer.pretty.scenario')
                        )),
                        new Definition('Behat\Behat\Output\Node\EventListener\AST\StepListener', array(
                            new Reference('output.node.printer.pretty.step'),
                            new Reference('output.node.printer.pretty.step_setup')
                        )),
                    )
                ),
                $this->proxySiblingEvents(
                    ScenarioTested::BEFORE,
                    ScenarioTested::AFTER,
                    array(
                        new Definition('Behat\Behat\Output\Node\EventListener\AST\ScenarioNodeListener', array(
                            ScenarioTested::AFTER_SETUP,
                            ScenarioTested::AFTER,
                            new Reference('output.node.printer.pretty.scenario'),
                            new Reference('output.node.printer.pretty.scenario_setup')
                        )),
                        new Definition('Behat\Behat\Output\Node\EventListener\AST\StepListener', array(
                            new Reference('output.node.printer.pretty.step'),
                            new Reference('output.node.printer.pretty.step_setup')
                        )),
                    )
                ),
                $this->proxySiblingEvents(
                    OutlineTested::BEFORE,
                    OutlineTested::AFTER,
                    array(
                        $this->proxyEventsIfParameterIsSet(
                            'expand',
                            false,
                            new Definition('Behat\Behat\Output\Node\EventListener\AST\OutlineTableListener', array(
                                new Reference('output.node.printer.pretty.outline_table'),
                                new Reference('output.node.printer.pretty.example_row'),
                                new Reference('output.node.printer.pretty.example_setup'),
                                new Reference('output.node.printer.pretty.example_step_setup')
                            ))
                        ),
                        $this->proxyEventsIfParameterIsSet(
                            'expand',
                            true,
                            new Definition('Behat\Behat\Output\Node\EventListener\AST\OutlineListener', array(
                                new Reference('output.node.printer.pretty.outline'),
                                new Reference('output.node.printer.pretty.example'),
                                new Reference('output.node.printer.pretty.example_step'),
                                new Reference('output.node.printer.pretty.example_setup'),
                                new Reference('output.node.printer.pretty.example_step_setup')
                            ))
                        )
                    )
                ),
            )
        ));
        $container->setDefinition(self::ROOT_LISTENER_ID, $definition);
    }
642642
public function setBackwardCompatibilitySettings(ContainerBuilder $container, array $config): void
    {
        foreach ($container->getDefinitions() as $class => $definition) {
            if ($definition->getClass()) {
                $class = $definition->getClass();
            }
            if (class_exists($class)) {
                $ref = new \ReflectionClass($class);
                if ($ref->implementsInterface(BackwardCompatibilityAwareInterface::class)) {
                    $definition->addMethodCall('setBCConfig', [$config]);
                }
            }
        }
    }
1153496
public function prepend(ContainerBuilder $container)
    {
        $configs = $container->getExtensionConfig('wizad_settings');

        $processor = new Processor();
        $configuration = $this->getConfiguration($configs, $container);
        $config = $processor->processConfiguration($configuration, $configs);

        $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
        $loader->load('services.xml');

        // Initialize Settings service
        $this->loadStorageEngine($config, $container);

        // Load settings schema
        $this->loadDynamicParametersSchema($config, $container);

        // Inject parameters
        $container->get('wizad_settings.dependency_injection.container_injection_manager')->inject($container);
    }
1164868
public function configure(ArrayNodeDefinition $builder)
  {
    $builder
      ->addDefaultsIfNotSet()
      ->children()
        ->arrayNode('templates')
          ->children()
            ->scalarNode("dir")->defaultNull()->end()
            ->scalarNode("file")->defaultValue("default.twig")->end()
          ->end()
        ->end()
        ->arrayNode('output')
          ->children()
            ->scalarNode("dir")->defaultNull()->end()
            ->scalarNode("file")->isRequired()->end()
          ->end()
        ->end()
        ->end()
    ->end();
  }
550831
public function _UpdateQueryBuilder(Builder $objBuilder)
    {
        $intLength = count($this->objNodeArray);
        for ($intIndex = 0; $intIndex < $intLength; $intIndex++) {
            $objNode = $this->objNodeArray[$intIndex];
            if ($objNode instanceof Node\Virtual) {
                if ($objNode->hasSubquery()) {
                    throw new Caller('You cannot define a virtual node in an order by clause. You must use an Expand clause to define it.');
                }
                $strOrderByCommand = '__' . $objNode->getAttributeName();
            } elseif ($objNode instanceof Node\Column) {
                /** @var Node\Column $objNode */
                $strOrderByCommand = $objNode->getColumnAlias($objBuilder);
            } elseif ($objNode instanceof iCondition) {
                /** @var iCondition $objNode */
                $strOrderByCommand = $objNode->getWhereClause($objBuilder);
            } else {
                $strOrderByCommand = '';
            }

            // Check to see if they want a ASC/DESC declarator
            if ((($intIndex + 1) < $intLength) &&
                !($this->objNodeArray[$intIndex + 1] instanceof Node\NodeBase)
            ) {
                if ((!$this->objNodeArray[$intIndex + 1]) ||
                    (trim(strtolower($this->objNodeArray[$intIndex + 1])) == 'desc')
                ) {
                    $strOrderByCommand .= ' DESC';
                } else {
                    $strOrderByCommand .= ' ASC';
                }
                $intIndex++;
            }

            $objBuilder->addOrderByItem($strOrderByCommand);
        }
    }
223937
public function addSemanticConfig(NodeBuilder $nodeBuilder)
    {
        $nodeBuilder
            ->arrayNode('pagination')
                ->info('System pagination configuration')
                ->children()
                    ->scalarNode('search_limit')->isRequired()->end()
                    ->scalarNode('trash_limit')->isRequired()->end()
                    ->scalarNode('section_limit')->isRequired()->end()
                    ->scalarNode('language_limit')->isRequired()->end()
                    ->scalarNode('role_limit')->isRequired()->end()
                    ->scalarNode('role_assignment_limit')->isRequired()->end()
                    ->scalarNode('policy_limit')->isRequired()->end()
                    ->scalarNode('content_type_group_limit')->isRequired()->end()
                    ->scalarNode('content_type_limit')->isRequired()->end()
                    ->scalarNode('version_draft_limit')->isRequired()->end()
                    ->scalarNode('content_system_url_limit')->isRequired()->end()
                    ->scalarNode('content_custom_url_limit')->isRequired()->end()
                    ->scalarNode('content_role_limit')->isRequired()->end()
                    ->scalarNode('content_policy_limit')->isRequired()->end()
                    ->scalarNode('notification_limit')->isRequired()->end()
                    ->scalarNode('user_settings_limit')->isRequired()->end()
                    ->scalarNode('content_draft_limit')->isRequired()->end()
                ->end()
            ->end();
    }
755181
public function prepend(ContainerBuilder $container)
    {
        $coreExtensionConfigFile = realpath(__DIR__ . '/../Resources/config/prepend/ezpublish.yml');
        $container->prependExtensionConfig('ezpublish', Yaml::parseFile($coreExtensionConfigFile));
        $container->addResource(new FileResource($coreExtensionConfigFile));
    }
768275
public function addSemanticConfig(NodeBuilder $nodeBuilder)
    {
        $nodeBuilder
            ->scalarNode('repository')->info('The repository to use. Choose among ezpublish.repositories.')->end()
            // @deprecated
            // Use ezpublish.repositories / repository settings instead.
            ->arrayNode('database')
                ->info('DEPRECATED. Use ezpublish.repositories / repository settings instead.')
                ->children()
                    ->enumNode('type')->values(array('mysql', 'pgsql', 'sqlite'))->info('The database driver. Can be mysql, pgsql or sqlite.')->end()
                    ->scalarNode('server')->end()
                    ->scalarNode('port')->end()
                    ->scalarNode('user')->cannotBeEmpty()->end()
                    ->scalarNode('password')->end()
                    ->scalarNode('database_name')->cannotBeEmpty()->end()
                    ->scalarNode('charset')->defaultValue('utf8')->end()
                    ->scalarNode('socket')->end()
                    ->arrayNode('options')
                        ->info('Arbitrary options, supported by your DB driver ("driver-opts" in PDO)')
                        ->example(array('foo' => 'bar', 'someOptionName' => array('one', 'two', 'three')))
                        ->useAttributeAsKey('key')
                        ->prototype('variable')->end()
                    ->end()
                    ->scalarNode('dsn')->info('Full database DSN. Will replace settings above.')->example('mysql://root:root@localhost:3306/ezdemo')->end()
                ->end()
            ->end()
            ->scalarNode('cache_service_name')
                ->example('cache.app')
                ->info('The cache pool service name to use for a siteaccess / siteaccess-group, *must* be present.')
            ->end()
            ->scalarNode('var_dir')
                ->cannotBeEmpty()
                ->example('var/ezdemo_site')
                ->info('The directory relative to web/ where files are stored. Default value is "var"')
            ->end()
            ->arrayNode('api_keys')
                ->info('Collection of API keys')
                ->addDefaultsIfNotSet()
                ->children()
                    ->scalarNode('google_maps')
                        ->setDeprecated('The child node "%node%" at path "%path%" is no longer used and deprecated.')
                        ->info('Google Maps API Key, required as of Google Maps v3 to make sure maps show up correctly.')
                    ->end()
                ->end()
            ->end()
            ->scalarNode('storage_dir')
                ->cannotBeEmpty()
                ->info("Directory where to place new files for storage, it's relative to var directory. Default value is 'storage'")
            ->end()
            ->scalarNode('binary_dir')
                ->cannotBeEmpty()
                ->info('Directory where binary files (from ezbinaryfile field type) are stored. Default value is "original"')
            ->end()
            // @deprecated since 5.3. Will be removed in 6.x.
            ->scalarNode('session_name')
                ->info('DEPRECATED. Use session.name instead.')
            ->end()
            ->arrayNode('session')
                ->info('Session options. Will override options defined in Symfony framework.session.*')
                ->children()
                    ->scalarNode('name')
                        ->info('The session name. If you want a session name per siteaccess, use "{siteaccess_hash}" token. Will override default session name from framework.session.name')
                        ->example(array('session' => array('name' => 'eZSESSID{siteaccess_hash}')))
                    ->end()
                    ->scalarNode('cookie_lifetime')->end()
                    ->scalarNode('cookie_path')->end()
                    ->scalarNode('cookie_domain')->end()
                    ->booleanNode('cookie_secure')->end()
                    ->booleanNode('cookie_httponly')->end()
                ->end()
            ->end()
            ->scalarNode('pagelayout')
                ->info('The default layout to use')
                ->example('AppBundle::pagelayout.html.twig')
            ->end()
            ->scalarNode('index_page')
                ->info('The page that the index page will show. Default value is null.')
                ->example('/Getting-Started')
            ->end()
            ->scalarNode('default_page')
                ->info('The default page to show, e.g. after user login this will be used for default redirection. If provided, will override "default_target_path" from security.yml.')
                ->example('/Getting-Started')
            ->end()
            ->arrayNode('http_cache')
                ->info('Settings related to Http cache')
                ->children()
                    ->arrayNode('purge_servers')
                        ->info('Servers to use for Http PURGE (will NOT be used if ezpublish.http_cache.purge_type is "local").')
                        ->example(array('http://localhost/', 'http://another.server/'))
                        ->requiresAtLeastOneElement()
                        ->prototype('scalar')->end()
                    ->end()
                ->end()
            ->end()
            ->scalarNode('anonymous_user_id')
                ->cannotBeEmpty()
                ->example('10')
                ->info('The ID of the user used for everyone who is not logged in.')
            ->end()
            ->arrayNode('user')
                ->children()
                    ->scalarNode('layout')
                        ->info('Layout template to use for user related actions. This is most likely the base pagelayout template of your site.')
                        ->example(array('layout' => 'eZDemoBundle::pagelayout.html.twig'))
                    ->end()
                    ->scalarNode('login_template')
                        ->info('Template to use for login form. Defaults to EzPublishCoreBundle:security:login.html.twig')
                        ->example(array('login_template' => 'AcmeTestBundle:User:login.html.twig'))
                    ->end()
                ->end()
            ->end();
    }
174640
public function configure(ArrayNodeDefinition $builder)
    {
        $builder
            ->addDefaultsIfNotSet()
            ->children()
            ->scalarNode('type')->defaultValue('zend_application')->end()
            ->scalarNode('configuration')->info('Path to config path of Zend application')->end()
            ->arrayNode('options')
            ->prototype('variable')
            ->end();
    }
1144481
public function build(ContainerBuilder $container)
    {
        /** @var \eZ\Bundle\EzPublishCoreBundle\DependencyInjection\EzPublishCoreExtension $core */
        $core = $container->getExtension('ezpublish');

        $configParsers = $this->getConfigParsers();
        array_walk($configParsers, [$core, 'addConfigParser']);

        $core->addDefaultSettings(__DIR__ . '/Resources/config', ['ezplatform_default_settings.yml']);

        $this->addCompilerPasses($container);
    }
1046277
public function addJobInBuild(ProfileConfiguration $config, Build $build)
    {
        @trigger_error('The method "addJobInBuild" is deprecated since blackfire/php-sdk 1.14 and will be removed in 2.0. Use method "addJobInScenario" instead.', E_USER_DEPRECATED);

        return $this->doAddJobInScenario($config, $build);
    }