Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 9810018

Browse filesBrowse files
bug #23870 [DI] Use GlobResource for non-tracked directories (vudaltsov)
This PR was merged into the 3.3 branch. Discussion ---------- [DI] Use GlobResource for non-tracked directories | Q | A | ------------- | --- | Branch? | 3.3 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | n/a | License | MIT | Doc PR | n/a I noticed that some of my excluded directories are still tracked by the container and changes to files inside them make it recompile. This brought me to the `$trackContents || is_dir($path)` line introduced in #21505. Commits ------- 048eb18 [DI] Use GlobResource for non-tracked directories
2 parents f335451 + 048eb18 commit 9810018
Copy full SHA for 9810018

File tree

3 files changed

+15
-7
lines changed
Filter options

3 files changed

+15
-7
lines changed

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1346,7 +1346,7 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
13461346
$fileRecorder('yml', $file);
13471347
}
13481348

1349-
if ($container->fileExists($dir = $dirname.'/Resources/config/serialization')) {
1349+
if ($container->fileExists($dir = $dirname.'/Resources/config/serialization', '/^$/')) {
13501350
$this->registerMappingFilesFromDir($dir, $fileRecorder);
13511351
}
13521352
}

‎src/Symfony/Bundle/TwigBundle/DependencyInjection/TwigExtension.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/TwigBundle/DependencyInjection/TwigExtension.php
+7-3Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
use Symfony\Bridge\Twig\Extension\WebLinkExtension;
1515
use Symfony\Component\Config\FileLocator;
16+
use Symfony\Component\Config\Resource\FileExistenceResource;
1617
use Symfony\Component\DependencyInjection\ContainerBuilder;
1718
use Symfony\Component\DependencyInjection\Reference;
1819
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
@@ -118,9 +119,10 @@ public function load(array $configs, ContainerBuilder $container)
118119
}
119120
}
120121

121-
if ($container->fileExists($dir = $container->getParameter('kernel.root_dir').'/Resources/views', false)) {
122+
if (file_exists($dir = $container->getParameter('kernel.root_dir').'/Resources/views')) {
122123
$twigFilesystemLoaderDefinition->addMethodCall('addPath', array($dir));
123124
}
125+
$container->addResource(new FileExistenceResource($dir));
124126

125127
if (!empty($config['globals'])) {
126128
$def = $container->getDefinition('twig');
@@ -178,13 +180,15 @@ private function getBundleHierarchy(ContainerBuilder $container)
178180
);
179181
}
180182

181-
if ($container->fileExists($dir = $container->getParameter('kernel.root_dir').'/Resources/'.$name.'/views', false)) {
183+
if (file_exists($dir = $container->getParameter('kernel.root_dir').'/Resources/'.$name.'/views')) {
182184
$bundleHierarchy[$name]['paths'][] = $dir;
183185
}
186+
$container->addResource(new FileExistenceResource($dir));
184187

185-
if ($container->fileExists($dir = $bundle['path'].'/Resources/views', false)) {
188+
if (file_exists($dir = $bundle['path'].'/Resources/views')) {
186189
$bundleHierarchy[$name]['paths'][] = $dir;
187190
}
191+
$container->addResource(new FileExistenceResource($dir));
188192

189193
if (null === $bundle['parent']) {
190194
continue;

‎src/Symfony/Component/DependencyInjection/ContainerBuilder.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/DependencyInjection/ContainerBuilder.php
+7-3Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -408,9 +408,13 @@ public function fileExists($path, $trackContents = true)
408408
return $exists;
409409
}
410410

411-
if ($trackContents && is_dir($path)) {
412-
$this->addResource(new DirectoryResource($path, is_string($trackContents) ? $trackContents : null));
413-
} elseif ($trackContents || is_dir($path)) {
411+
if (is_dir($path)) {
412+
if ($trackContents) {
413+
$this->addResource(new DirectoryResource($path, is_string($trackContents) ? $trackContents : null));
414+
} else {
415+
$this->addResource(new GlobResource($path, '/*', false));
416+
}
417+
} elseif ($trackContents) {
414418
$this->addResource(new FileResource($path));
415419
}
416420

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.