Skip to content

Commit eccbc76

Browse files
committed
Add missing resource tracking for validation mapping
1 parent d236af6 commit eccbc76

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
use Symfony\Bridge\Monolog\Processor\DebugProcessor;
1616
use Symfony\Component\Cache\Adapter\AdapterInterface;
1717
use Symfony\Component\Config\Loader\LoaderInterface;
18+
use Symfony\Component\Config\Resource\DirectoryResource;
19+
use Symfony\Component\Config\Resource\FileExistenceResource;
1820
use Symfony\Component\DependencyInjection\Alias;
1921
use Symfony\Component\DependencyInjection\ChildDefinition;
2022
use Symfony\Component\DependencyInjection\ContainerBuilder;
@@ -938,7 +940,7 @@ private function registerValidationConfiguration(array $config, ContainerBuilder
938940

939941
$files = array('xml' => array(), 'yml' => array());
940942
$this->getValidatorMappingFiles($container, $files);
941-
$this->getValidatorMappingFilesFromConfig($config, $files);
943+
$this->getValidatorMappingFilesFromConfig($container, $config, $files);
942944

943945
if (!empty($files['xml'])) {
944946
$validatorBuilder->addMethodCall('addXmlMappings', array($files['xml']));
@@ -1011,12 +1013,13 @@ private function getValidatorMappingFilesFromDir($dir, array &$files)
10111013
}
10121014
}
10131015

1014-
private function getValidatorMappingFilesFromConfig(array $config, array &$files)
1016+
private function getValidatorMappingFilesFromConfig(ContainerBuilder $container, array $config, array &$files)
10151017
{
10161018
foreach ($config['mapping']['paths'] as $path) {
10171019
if (is_dir($path)) {
10181020
$this->getValidatorMappingFilesFromDir($path, $files);
1019-
} elseif (is_file($path)) {
1021+
$container->addResource(new DirectoryResource($path, '/^$/'));
1022+
} elseif ($container->fileExists($path, false)) {
10201023
if (preg_match('/\.(xml|ya?ml)$/', $path, $matches)) {
10211024
$extension = $matches[1];
10221025
$files['yaml' === $extension ? 'yml' : $extension][] = $path;

0 commit comments

Comments
 (0)