Преглед изворни кода

Allow absolute paths in composer.json and don't prepend them with a funny $baseDir variable.

till пре 12 година
родитељ
комит
2823c78856
1 измењених фајлова са 9 додато и 2 уклоњено
  1. 9 2
      src/Composer/Autoload/AutoloadGenerator.php

+ 9 - 2
src/Composer/Autoload/AutoloadGenerator.php

@@ -118,8 +118,15 @@ EOF;
         $autoloads['classmap'] = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($autoloads['classmap']));
         foreach ($autoloads['classmap'] as $dir) {
             foreach (ClassMapGenerator::createMap($dir) as $class => $path) {
-                $path = '/'.$filesystem->findShortestPath(getcwd(), $path, true);
-                $classmapFile .= '    '.var_export($class, true).' => $baseDir . '.var_export($path, true).",\n";
+
+                $classmapFile .= '    '.var_export($class, true) . ' => ';
+
+                if (0 === strpos($path, dirname($vendorPath), 0)) {
+                    // this path seems to be located within this application/package
+                    $path = '/' . $filesystem->findShortestPath(getcwd(), $path, true);
+                    $classmapFile .= '$baseDir . ';
+                }
+                $classmapFile .= var_export($path, true).",\n";
             }
         }
         $classmapFile .= ");\n";