From f36325db6bccec1ccc9d650c979e27d232db2664 Mon Sep 17 00:00:00 2001 From: Pierre Rineau Date: Fri, 28 Apr 2017 12:25:29 +0200 Subject: [PATCH 1/5] #22149 - fixes twig bundle project root dir discovery --- .../Compiler/ExtensionPass.php | 20 +++---------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/ExtensionPass.php b/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/ExtensionPass.php index b73af4461e7e0..1898da324cc28 100644 --- a/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/ExtensionPass.php +++ b/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/ExtensionPass.php @@ -80,16 +80,16 @@ public function process(ContainerBuilder $container) $container->getDefinition('twig.extension.debug')->addTag('twig.extension'); } - $composerRootDir = $this->getComposerRootDir($container->getParameter('kernel.root_dir')); + $projectDir = $container->getParameter('kernel.project_dir'); $twigLoader = $container->getDefinition('twig.loader.native_filesystem'); if ($container->has('templating')) { $loader = $container->getDefinition('twig.loader.filesystem'); $loader->setMethodCalls(array_merge($twigLoader->getMethodCalls(), $loader->getMethodCalls())); - $loader->replaceArgument(2, $composerRootDir); + $loader->replaceArgument(2, $projectDir); $twigLoader->clearTag('twig.loader'); } else { - $twigLoader->replaceArgument(1, $composerRootDir); + $twigLoader->replaceArgument(1, $projectDir); $container->setAlias('twig.loader.filesystem', new Alias('twig.loader.native_filesystem', false)); } @@ -109,18 +109,4 @@ public function process(ContainerBuilder $container) $container->getDefinition('twig.extension.expression')->addTag('twig.extension'); } } - - private function getComposerRootDir($rootDir) - { - $dir = $rootDir; - while (!file_exists($dir.'/composer.json')) { - if ($dir === dirname($dir)) { - return $rootDir; - } - - $dir = dirname($dir); - } - - return $dir; - } } From 5798cb91cfc48acf0b156090d3ad67bf5750efe6 Mon Sep 17 00:00:00 2001 From: Pierre Rineau Date: Fri, 28 Apr 2017 13:17:21 +0200 Subject: [PATCH 2/5] move kernel.project_dir arguments to twig services definitions --- .../TwigBundle/DependencyInjection/Compiler/ExtensionPass.php | 3 --- src/Symfony/Bundle/TwigBundle/Resources/config/templating.xml | 2 +- src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/ExtensionPass.php b/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/ExtensionPass.php index 1898da324cc28..3e23f5a8a802f 100644 --- a/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/ExtensionPass.php +++ b/src/Symfony/Bundle/TwigBundle/DependencyInjection/Compiler/ExtensionPass.php @@ -80,16 +80,13 @@ public function process(ContainerBuilder $container) $container->getDefinition('twig.extension.debug')->addTag('twig.extension'); } - $projectDir = $container->getParameter('kernel.project_dir'); $twigLoader = $container->getDefinition('twig.loader.native_filesystem'); if ($container->has('templating')) { $loader = $container->getDefinition('twig.loader.filesystem'); $loader->setMethodCalls(array_merge($twigLoader->getMethodCalls(), $loader->getMethodCalls())); - $loader->replaceArgument(2, $projectDir); $twigLoader->clearTag('twig.loader'); } else { - $twigLoader->replaceArgument(1, $projectDir); $container->setAlias('twig.loader.filesystem', new Alias('twig.loader.native_filesystem', false)); } diff --git a/src/Symfony/Bundle/TwigBundle/Resources/config/templating.xml b/src/Symfony/Bundle/TwigBundle/Resources/config/templating.xml index fae523eb6fd06..b9c1806221ed0 100644 --- a/src/Symfony/Bundle/TwigBundle/Resources/config/templating.xml +++ b/src/Symfony/Bundle/TwigBundle/Resources/config/templating.xml @@ -7,7 +7,7 @@ - + %kernel.project_dir% diff --git a/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml b/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml index 02717329c2825..22ad287f70113 100644 --- a/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml +++ b/src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml @@ -48,7 +48,7 @@ - + %kernel.project_dir% From cd083699a8e7b8a3b4bfccda3081d5150299a407 Mon Sep 17 00:00:00 2001 From: Pierre Rineau Date: Fri, 28 Apr 2017 13:21:51 +0200 Subject: [PATCH 3/5] fixes TwigBundle unit tests --- .../TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php b/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php index 4ff904dfe0765..4d78b772655e8 100644 --- a/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php +++ b/src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/TwigExtensionTest.php @@ -256,6 +256,7 @@ private function createContainer() $container = new ContainerBuilder(new ParameterBag(array( 'kernel.cache_dir' => __DIR__, 'kernel.root_dir' => __DIR__.'/Fixtures', + 'kernel.project_dir' => __DIR__, 'kernel.charset' => 'UTF-8', 'kernel.debug' => false, 'kernel.bundles' => array( From 98d3691960f0888de0cae8322536c7eb94020c02 Mon Sep 17 00:00:00 2001 From: Pierre Rineau Date: Fri, 28 Apr 2017 14:39:06 +0200 Subject: [PATCH 4/5] symfony/http-kernel dependency version bump to ^3.2.2 minimum requirement --- src/Symfony/Bundle/TwigBundle/composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/TwigBundle/composer.json b/src/Symfony/Bundle/TwigBundle/composer.json index e645ca2015c15..f55bd1cbeaea3 100644 --- a/src/Symfony/Bundle/TwigBundle/composer.json +++ b/src/Symfony/Bundle/TwigBundle/composer.json @@ -20,7 +20,7 @@ "symfony/config": "~3.2", "symfony/twig-bridge": "^3.2.1", "symfony/http-foundation": "~2.8|~3.0", - "symfony/http-kernel": "~2.8.16|~3.1.9|^3.2.2", + "symfony/http-kernel": "^3.2.2", "twig/twig": "^1.32|^2.2" }, "require-dev": { From fcfb094095da02c14940466d1d52759374065a51 Mon Sep 17 00:00:00 2001 From: Pierre Rineau Date: Fri, 28 Apr 2017 14:44:59 +0200 Subject: [PATCH 5/5] symfony/http-kernel dependency version bump to ^3.3 minimum requirement --- src/Symfony/Bundle/TwigBundle/composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/TwigBundle/composer.json b/src/Symfony/Bundle/TwigBundle/composer.json index f55bd1cbeaea3..63c0fefe5a025 100644 --- a/src/Symfony/Bundle/TwigBundle/composer.json +++ b/src/Symfony/Bundle/TwigBundle/composer.json @@ -20,7 +20,7 @@ "symfony/config": "~3.2", "symfony/twig-bridge": "^3.2.1", "symfony/http-foundation": "~2.8|~3.0", - "symfony/http-kernel": "^3.2.2", + "symfony/http-kernel": "^3.3", "twig/twig": "^1.32|^2.2" }, "require-dev": {