Completed
Pull Request — master (#10)
by Tomáš
06:04 queued 03:12
created

SculpinBundle::getServicesFile()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 0
cts 4
cp 0
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
crap 2
1
<?php
2
3
/*
4
 * This file is a part of Sculpin.
5
 *
6
 * (c) Dragonfly Development Inc.
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Symplify\PHP7_Sculpin\SculpinBundle;
13
14
use Symfony\Component\DependencyInjection\Compiler\PassConfig;
15
use Symplify\PHP7_Sculpin\SculpinBundle\DependencyInjection\Compiler\ConverterManagerPass;
16
use Symplify\PHP7_Sculpin\SculpinBundle\DependencyInjection\Compiler\DataSourcePass;
17
use Symplify\PHP7_Sculpin\SculpinBundle\DependencyInjection\Compiler\DataProviderManagerPass;
18
use Symplify\PHP7_Sculpin\SculpinBundle\DependencyInjection\Compiler\FormatterManagerPass;
19
use Symplify\PHP7_Sculpin\SculpinBundle\DependencyInjection\Compiler\GeneratorManagerPass;
20
use Symplify\PHP7_Sculpin\SculpinBundle\DependencyInjection\Compiler\PathConfiguratorPass;
21
use Symplify\PHP7_Sculpin\SculpinBundle\DependencyInjection\Compiler\CustomMimeTypesRepositoryPass;
22
use Symplify\PHP7_Sculpin\SculpinBundle\DependencyInjection\Configuration;
23
use Symfony\Component\Config\Definition\ConfigurationInterface;
24
use Symfony\Component\DependencyInjection\ContainerBuilder;
25
use Symplify\PHP7_Sculpin\SculpinBundle\DependencyInjection\Compiler\RegisterKernelListenersPass;
26
use Symplify\SimpleBundle\AbstractSimpleBundle;
27
28
final class SculpinBundle extends AbstractSimpleBundle
29
{
30
    /**
31
     * {@inheritdoc}
32
     */
33
    public function build(ContainerBuilder $containerBuilder)
34
    {
35
        $containerBuilder->addCompilerPass(new ConverterManagerPass());
36
        $containerBuilder->addCompilerPass(new DataProviderManagerPass());
37
        $containerBuilder->addCompilerPass(new FormatterManagerPass());
38
        $containerBuilder->addCompilerPass(new GeneratorManagerPass());
39
        $containerBuilder->addCompilerPass(new PathConfiguratorPass());
40
        $containerBuilder->addCompilerPass(new CustomMimeTypesRepositoryPass());
41
        $containerBuilder->addCompilerPass(new DataSourcePass());
42
43
        $containerBuilder->addCompilerPass(new RegisterKernelListenersPass(), PassConfig::TYPE_AFTER_REMOVING);
44
    }
45
46
    protected function getServicesFile() : string
47
    {
48
        return __DIR__.'/Resources/config/services.yml';
49
    }
50
51
    protected function getConfiguration() : ConfigurationInterface
52
    {
53
        return new Configuration();
54
    }
55
56
    protected function getParametersAliases() : array
57
    {
58
        return [
59
            'source_dir' => 'sculpin.source_dir',
60
            'output_dir' => 'sculpin.output_dir',
61
            'permalink' => 'sculpin.permalink',
62
            'raw' => 'sculpin.raw',
63
        ];
64
    }
65
}
66