Merge remote-tracking branch 'digitalkaoz/classmap_generator_finder'

main
Jordi Boggiano 11 years ago
commit 7b81d51a38

@ -26,7 +26,7 @@
"justinrainbow/json-schema": "1.1.*", "justinrainbow/json-schema": "1.1.*",
"seld/jsonlint": "1.*", "seld/jsonlint": "1.*",
"symfony/console": "~2.3@dev", "symfony/console": "~2.3@dev",
"symfony/finder": "~2.1", "symfony/finder": "~2.2",
"symfony/process": "~2.1@dev" "symfony/process": "~2.1@dev"
}, },
"require-dev": { "require-dev": {

@ -12,6 +12,7 @@
*/ */
namespace Composer\Autoload; namespace Composer\Autoload;
use Symfony\Component\Finder\Finder;
/** /**
* ClassMapGenerator * ClassMapGenerator
@ -53,7 +54,7 @@ class ClassMapGenerator
if (is_file($path)) { if (is_file($path)) {
$path = array(new \SplFileInfo($path)); $path = array(new \SplFileInfo($path));
} elseif (is_dir($path)) { } elseif (is_dir($path)) {
$path = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path)); $path = Finder::create()->useBestAdapter()->files()->followLinks()->name('/\.(php|inc)$/')->in($path);
} else { } else {
throw new \RuntimeException( throw new \RuntimeException(
'Could not scan for classes inside "'.$path. 'Could not scan for classes inside "'.$path.
@ -65,10 +66,6 @@ class ClassMapGenerator
$map = array(); $map = array();
foreach ($path as $file) { foreach ($path as $file) {
if (!$file->isFile()) {
continue;
}
$filePath = $file->getRealPath(); $filePath = $file->getRealPath();
if (!in_array(pathinfo($filePath, PATHINFO_EXTENSION), array('php', 'inc'))) { if (!in_array(pathinfo($filePath, PATHINFO_EXTENSION), array('php', 'inc'))) {
@ -84,7 +81,6 @@ class ClassMapGenerator
foreach ($classes as $class) { foreach ($classes as $class) {
$map[$class] = $filePath; $map[$class] = $filePath;
} }
} }
return $map; return $map;

Loading…
Cancel
Save