Browse Source

Fix exclude-from-classmap when a package is installed as a symlink, fixes #6397

Jordi Boggiano 7 years ago
parent
commit
bf940fb21b
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/Composer/Autoload/ClassMapGenerator.php

+ 2 - 1
src/Composer/Autoload/ClassMapGenerator.php

@@ -90,7 +90,8 @@ class ClassMapGenerator
                 $filePath = preg_replace('{[\\\\/]{2,}}', '/', $filePath);
             }
 
-            if ($blacklist && preg_match($blacklist, strtr($filePath, '\\', '/'))) {
+            // check the realpath of the file against the blacklist as the path might be a symlink and the blacklist is realpath'd so symlink are resolved
+            if ($blacklist && preg_match($blacklist, strtr(realpath($filePath), '\\', '/'))) {
                 continue;
             }