Generates the configuration tree builder.

@return \Symfony\Component\Config\Definition\Builder\TreeBuilder The tree builder
342739
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root($this->alias);

        $rootNode
            ->children()
                ->arrayNode('services')
                    ->children()
                        ->arrayNode('blob')
                            ->useAttributeAsKey('name')
                            ->prototype('scalar')->end()
                        ->end()
                        ->arrayNode('table')
                            ->useAttributeAsKey('name')
                            ->prototype('scalar')->end()
                        ->end()
                        ->arrayNode('queue')
                            ->useAttributeAsKey('name')
                            ->prototype('scalar')->end()
                        ->end()
                        ->arrayNode('service_bus')
                            ->useAttributeAsKey('name')
                            ->prototype('scalar')->end()
                        ->end()
                        ->arrayNode('management')
                            ->useAttributeAsKey('name')
                            ->prototype('scalar')->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('deployment')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->arrayNode('roleFiles')
                            ->children()
                                ->scalarNode('ignoreVCS')
                                    ->defaultValue(true)
                                ->end()
                                ->variableNode('include')
                                    ->defaultValue(array())
                                ->end()
                                ->variableNode('exclude')
                                    ->defaultValue(array())
                                ->end()
                                ->variableNode('ignorePatterns')
                                    ->defaultValue(array())
                                ->end()
                            ->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('streams')
                    ->useAttributeAsKey('name')
                    ->prototype('scalar')->end()
                ->end()
                ->arrayNode('key_value_store')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->scalarNode('connection_name')
                            ->defaultValue('')
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('session')
                    ->children()
                        ->scalarNode('type')
                            ->validate()
                                ->ifNotInArray(array('pdo'))
                                ->thenInvalid('Only pdo allowed here.')
                            ->end()
                        ->end()
                        ->arrayNode('database')
                            ->children()
                                ->scalarNode('host')->isRequired()->end()
                                ->scalarNode('username')->isRequired()->end()
                                ->scalarNode('password')->isRequired()->end()
                                ->scalarNode('database')->isRequired()->end()
                                ->scalarNode('table')->defaultValue('azure_sessions')->end()
                            ->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('assets')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->scalarNode('type')
                            ->defaultValue('local')
                            ->validate()
                                ->ifNotInArray(array(
                                    'local',
                                    'blob',
                                    'service'
                                ))
                                ->thenInvalid('Assets can either deployed on local "webrole" or in "blob" storage.')
                            ->end()
                        ->end()
                        ->scalarNode('id')->end()
                        ->scalarNode('connection_name')->end()
                    ->end()
                ->end()
                ->arrayNode('federations')
                    ->useAttributeAsKey('name')
                    ->prototype('array')
                    ->children()
                        ->scalarNode('federationName')->isRequired()->end()
                        ->scalarNode('distributionKey')->isRequired()->end()
                        ->scalarNode('distributionType')->isRequired()->end()
                        ->scalarNode('filteringEnabled')->defaultValue(false)->end()
                    ->end()
                ->end()
            ->end()
        ->end();

        return $treeBuilder;
    }
1157149
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder(static::ROOT_NODE);

        if (method_exists($treeBuilder, 'getRootNode')) {
            // Symfony 4.2 +
            $rootNode = $treeBuilder->getRootNode();
        } else {
            // Symfony 4.1 and below
            $rootNode = $treeBuilder->root(static::ROOT_NODE);
        }

        return
            $rootNode
                ->children()
                    ->scalarNode('cache')
                        ->cannotBeEmpty()
                        ->defaultValue('%kernel.cache_dir%/GeoLite2-City.mmdb')
                    ->end()
                    ->scalarNode('url')
                        ->cannotBeEmpty()
                        ->defaultValue('https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz')
                    ->end()
                    ->arrayNode('locales')
                        ->treatNullLike([])
                        ->prototype('scalar')->end()
                        ->defaultValue(['%locale%'])
                    ->end()
                ->end()
            ->end()
        ;
    }
977818
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('gauges');
        $rootNode
            ->useAttributeAsKey('path')
            ->prototype('array')
            ->children()
                ->scalarNode('class')
                    ->isRequired()
                    ->cannotBeEmpty()
                ->end()
                ->variableNode('arguments')->end()
            ->end();

        return $treeBuilder;
    }
320649
public function getConfigTreeBuilder(): TreeBuilder
    {
        $treeBuilder = new TreeBuilder('bazinga_hateoas');
        if (\method_exists($treeBuilder, 'getRootNode')) {
            $rootNode = $treeBuilder->getRootNode();
        } else {
            // BC layer for symfony/config 4.1 and older
            $rootNode = $treeBuilder->root('bazinga_hateoas');
        }

        $rootNode
            ->children()
            ->arrayNode('metadata')
                ->addDefaultsIfNotSet()
                ->children()
                    ->scalarNode('cache')->defaultValue('file')->end()
                    ->arrayNode('file_cache')
                        ->addDefaultsIfNotSet()
                        ->children()
                            ->scalarNode('dir')->defaultValue('%kernel.cache_dir%/hateoas')->end()
                        ->end()
                    ->end()
                ->end()
            ->end()
            ->arrayNode('serializer')
                ->addDefaultsIfNotSet()
                ->children()
                    ->scalarNode('json')->defaultValue('hateoas.serializer.json_hal')->end()
                    ->scalarNode('xml')->defaultValue('hateoas.serializer.xml')->end()
                ->end()
            ->end()
            ->arrayNode('twig_extension')
                ->addDefaultsIfNotSet()
                ->canBeDisabled()
            ->end();

        return $treeBuilder;
    }
63702
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('asf_layout');

        $rootNode
            ->children()
                ->booleanNode('enable_flash_messages')
                    ->defaultTrue()
                ->end()
                ->arrayNode('assets')
                    ->addDefaultsIfNotSet()
                    ->children()
                       ->append($this->addJqueryParameterNode())
                       ->append($this->addTwitterBootstrapParameterNode())
                       ->append($this->addjQueryUIParameterNode())
                       ->append($this->addSelect2ParameterNode())
                       ->append($this->addBazingaJsTranslationParameterNode())
                       ->append($this->addSpeakingURLParameterNode())
                       ->append($this->addTinyMCEParameterNode())
                       ->append($this->addJqueryTagsInputParameterNode())
                       ->append($this->addPrismJSParameterNode())
                       ->booleanNode('fos_js_routing')->defaultFalse()->end()
                    ->end()
                ->end()
                ->scalarNode('components_dir')
                    ->defaultValue(self::COMPONENTS_DIR)
                ->end()
            ->end()
        ;

        return $treeBuilder;
    }
377752
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('kitpages_file_system');

        $this->addMainSection($rootNode, $this->factories);

        $rootNode
        // add a faux-entry for factories, so that no validation error is thrown
            ->fixXmlConfig('factory', 'factories')
            ->children()
                ->arrayNode('factories')->ignoreExtraKeys()->end()
            ->end()
        ;

        return $treeBuilder;
    }
207964
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('sidus_eav_model');
        /** @var NodeBuilder $attributeDefinition */
        $attributeDefinition = $rootNode
            ->children()
                ->scalarNode('data_class')->isRequired()->end()
                ->scalarNode('value_class')->isRequired()->end()
                ->booleanNode('serializer_enabled')->defaultFalse()->end()
                ->scalarNode('collection_type')->defaultValue(CollectionType::class)->end()
                ->scalarNode('context_form_type')->defaultNull()->end()
                ->variableNode('default_context')->defaultValue([])->end()
                ->arrayNode('global_context_mask')
                    ->prototype('scalar')->defaultValue([])->end()
                ->end()
                ->arrayNode('attributes')
                    ->useAttributeAsKey('code')
                    ->prototype('array')
                        ->performNoDeepMerging()
                        ->cannotBeOverwritten()
                        ->children();

        $this->appendAttributeDefinition($attributeDefinition);

        /** @var NodeBuilder $familyDefinition */
        $familyDefinition = $attributeDefinition
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('families')
                    ->useAttributeAsKey('code')
                    ->prototype('array')
                        ->performNoDeepMerging()
                        ->cannotBeOverwritten()
                        ->children();

        $this->appendFamilyDefinition($familyDefinition);

        $familyDefinition
                        ->end()
                    ->end()
                ->end()
            ->end();

        return $treeBuilder;
    }
577486
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('kitpages_file');

        $this->addMainSection($rootNode);

        return $treeBuilder;
    }
91300
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('lsw_memcache');
        $rootNode
            ->append($this->addSessionSupportSection())
            ->append($this->addDoctrineSection())
            ->append($this->addFirewallSection())
            ->append($this->addClientsSection())
        ;

        return $treeBuilder;
    }
1349291
public function getConfigTreeBuilder()
    {
        $builder = new TreeBuilder();

        $node = $builder->root('rocketeer')->children();
        foreach ($this->definitions as $definition) {
            /** @var AbstractDefinition $definition */
            $definition = new $definition();
            $definition->setValues($this->values);
            $definition = $definition->getConfigTreeBuilder();

            $node = $node->append($definition);
        }
        $node = $node->end();

        return $builder;
    }
1034489
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('victoire_seo');

        $rootNode
            ->addDefaultsIfNotSet()
            ->children()
                ->arrayNode('analytics')
                    ->useAttributeAsKey(true)
                    ->prototype('array')
                    ->children()
                        ->booleanNode('enabled')->defaultValue('false')->end()
                        ->scalarNode('key')->defaultNull()->end()
                    ->end()
                ->end()
                ->end()
            ->end();

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

        return $this->nodeBuilder;
    }
1323735
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $this->root = $treeBuilder->root("rms_push_notifications");

        $this->addAndroid();
        $this->addiOS();
        $this->addMac();
        $this->addBlackberry();
        $this->addWindowsphone();

        return $treeBuilder;
    }
1338059
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder('kunstmaan_admin');
        if (method_exists($treeBuilder, 'getRootNode')) {
            $rootNode = $treeBuilder->getRootNode();
        } else {
            // BC layer for symfony/config 4.1 and older
            $rootNode = $treeBuilder->root('kunstmaan_admin');
        }

        $rootNode
            ->fixXmlConfig('admin_locale')
            ->fixXmlConfig('menu_item')
            ->children()
                ->scalarNode('website_title')->defaultNull()->end()
                ->scalarNode('multi_language') //NEXT_MAJOR: change type to booleanNode and make required or provide default value
                    ->defaultNull()
                    ->beforeNormalization()->ifString()->then(function ($v) {
                        // Workaroud to allow detecting if value is not provided. Can be removed when type is switched to booleanNode
                        return (bool) $v;
                    })->end()
                ->end()
                ->scalarNode('required_locales')->defaultNull()->end() //NEXT_MAJOR: make config required
                ->scalarNode('default_locale')->defaultNull()->end() //NEXT_MAJOR: make config required
                ->scalarNode('admin_password')->end()
                ->scalarNode('dashboard_route')->end()
                ->scalarNode('admin_prefix')->defaultValue('admin')->end()
                ->arrayNode('admin_locales')
                    ->defaultValue(array('en'))
                    ->prototype('scalar')->end()
                ->end()
                ->arrayNode('session_security')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->booleanNode('ip_check')->defaultFalse()->end()
                        ->booleanNode('user_agent_check')->defaultFalse()->end()
                    ->end()
                ->end()
                ->arrayNode('admin_exception_excludes')
                    ->requiresAtLeastOneElement()
                    ->prototype('scalar')->end()
                ->end()
                ->scalarNode('default_admin_locale')->cannotBeEmpty()->defaultValue('en')->end()
                ->booleanNode('enable_console_exception_listener')->defaultTrue()->end()
                ->booleanNode('enable_toolbar_helper')->defaultValue('%kernel.debug%')->end()
                ->arrayNode('provider_keys')
                    ->prototype('array')->end()
                    ->setDeprecated('The "%provider_keys%" is deprecated. Use "toolbar_firewall_names" instead')
                ->end()
                ->arrayNode('toolbar_firewall_names')
                    ->defaultValue(['main'])
                    ->prototype('array')->end()
                ->end()
                ->scalarNode('admin_firewall_name')
                    ->defaultValue('main')
                ->end()
                ->arrayNode('menu_items')
                    ->defaultValue([])
                    ->useAttributeAsKey('route', false)
                    ->prototype('array')
                        ->children()
                            ->scalarNode('route')->isRequired()->end()
                            ->scalarNode('label')->isRequired()->end()
                            ->scalarNode('role')->defaultNull()->end()
                            ->arrayNode('params')->defaultValue([])->prototype('scalar')->end()->end()
                            ->scalarNode('parent')->defaultValue('KunstmaanAdminBundle_modules')->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('google_signin')
                    ->addDefaultsIfNotSet()
                    ->canBeEnabled()
                    ->beforeNormalization()
                        ->always()
                        ->then(function ($v) {
                            if ($v === true || (isset($v['enabled']) && $v['enabled'])) {
                                if (empty($v['client_id']) || empty($v['client_secret'])) {
                                    throw new InvalidConfigurationException('The "client_id" and "client_secret" settings are required under the "google_signin" group.');
                                }
                            } else {
                                unset($v['client_id'], $v['client_secret'], $v['hosted_domains']);
                            }

                            return $v;
                        })
                    ->end()
                    ->children()
                        ->scalarNode('client_id')->defaultNull()->end()
                        ->scalarNode('client_secret')->defaultNull()->end()
                        ->arrayNode('hosted_domains')
                            ->prototype('array')
                                ->children()
                                    ->scalarNode('domain_name')->isRequired()->end()
                                    ->arrayNode('access_levels')
                                        ->isRequired()
                                        ->prototype('scalar')->end()
                                    ->end()
                                ->end()
                            ->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('password_restrictions')
                ->addDefaultsIfNotSet()
                    ->children()
                        ->integerNode('min_digits')->defaultNull()->end()
                        ->integerNode('min_uppercase')->defaultNull()->end()
                        ->integerNode('min_special_characters')->defaultNull()->end()
                        ->integerNode('min_length')->defaultNull()->end()
                        ->integerNode('max_length')->defaultNull()->end()
                    ->end()
            ->end();

        return $treeBuilder;
    }
1288630
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('openclassrooms_cache');
        $rootNode
            ->children()
                ->arrayNode('provider')
                ->performNoDeepMerging()
                ->beforeNormalization()
                    ->ifString()
                    ->then(function($v) { return array($v => array()); })
                ->end()
                    ->children()
                        ->append($this->addArrayNode())
                        ->append($this->addRedisNode())
                    ->end()
                ->end()
            ->end()
            ->children()
                ->scalarNode('default_lifetime')
                    ->defaultValue(0)
                ->end()
            ->end();

        return $treeBuilder;
    }
478702
public function getConfigTreeBuilder()
    {
        $builder = new TreeBuilder();
        $rootNode = $builder->root('opifer_cms');

        $rootNode
            ->addDefaultsIfNotSet()
            ->children()
                ->scalarNode('default_locale')->defaultValue('en')->end()

                ->arrayNode('classes')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->arrayNode('config')
                            ->addDefaultsIfNotSet()
                            ->children()
                                ->scalarNode('model')->defaultValue('Opifer\CmsBundle\Entity\Config')->end()
                            ->end()
                        ->end()
                        ->arrayNode('review')
                            ->addDefaultsIfNotSet()
                            ->children()
                                ->scalarNode('model')->defaultValue('Opifer\CmsBundle\Entity\Review')->end()
                            ->end()
                        ->end()
                        ->arrayNode('user')
                            ->addDefaultsIfNotSet()
                            ->children()
                                ->scalarNode('model')->defaultValue('Opifer\CmsBundle\Entity\User')->end()
                            ->end()
                        ->end()
                    ->end()
                ->end()

                ->arrayNode('database')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->scalarNode('driver')->defaultValue('pdo_mysql')->end()
                        ->scalarNode('host')->defaultValue('%database_host%')->end()
                        ->scalarNode('name')->defaultValue('%database_name%')->end()
                        ->scalarNode('user')->defaultValue('%database_user%')->end()
                        ->scalarNode('password')->defaultValue('%database_password%')->end()
                        ->scalarNode('table_prefix')->defaultValue('opifer_')->end()
                    ->end()
                ->end()

                ->arrayNode('autocomplete')
                    ->useAttributeAsKey('id')
                    ->prototype('array')
                        ->children()
                            ->scalarNode('class')
                                ->cannotBeEmpty()
                            ->end()
                            ->scalarNode('property')
                                ->cannotBeEmpty()
                            ->end()
                        ->end()
                    ->end()
                ->end()

                ->arrayNode('ckeditor')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->scalarNode('css_path')->defaultValue('/bundles/opifercms/css/app.css')->end()
                    ->end()
                ->end()

                ->arrayNode('blocks')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->arrayNode('login')
                            ->addDefaultsIfNotSet()
                            ->children()
                                ->scalarNode('view')->defaultValue('OpiferCmsBundle:Block:Content/login.html.twig')->end()
                            ->end()
                        ->end()
                    ->end()
                ->end()

                ->scalarNode('google_tag_manager_key')->defaultNull()->end()
                ->scalarNode('google_captcha_site_key')->defaultNull()->end()
                ->scalarNode('google_captcha_secret')->defaultNull()->end()

            ->end()
        ;

        return $builder;
    }
71093
public function getConfigTree()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('david_badura_fixtures', 'array');

        $rootNode
            ->children()
                ->arrayNode('bundles')
                    ->prototype('scalar')->isRequired()->end()
                    ->defaultValue(array())
                ->end()
                ->scalarNode('persister')->defaultValue('orm')->end()
                ->scalarNode('persister_id')->defaultValue(null)->end()
                ->arrayNode('defaults')
                    ->children()
                        ->scalarNode('converter')->defaultValue('default')->end()
                        ->arrayNode('validation')
                            ->children()
                                ->scalarNode('enable')->defaultValue(true)->end()
                                ->scalarNode('group')->defaultValue('Default')->end()
                            ->end()
                        ->end()
                        ->arrayNode('parameters')->end()
                    ->end()
                ->end()
            ->end()
        ;

        return $treeBuilder->buildTree();
    }