Fixed error, when composer.phar was broken, if it compiled inside folder, that has /composer in path
parent
9fd4f22ba2
commit
dc509b236f
|
@ -164,10 +164,24 @@ class Compiler
|
|||
$util->save($pharFile, \Phar::SHA1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \SplFileInfo $file
|
||||
* @return string
|
||||
*/
|
||||
private function getRelativeFilePath($file)
|
||||
{
|
||||
$realPath = $file->getRealPath();
|
||||
$pathPrefix = dirname(dirname(__DIR__)).DIRECTORY_SEPARATOR;
|
||||
|
||||
$pos = strpos($realPath, $pathPrefix);
|
||||
$relativePath = ($pos !== false) ? substr_replace($realPath, '', $pos, strlen($pathPrefix)) : $realPath;
|
||||
|
||||
return strtr($relativePath, '\\', '/');
|
||||
}
|
||||
|
||||
private function addFile($phar, $file, $strip = true)
|
||||
{
|
||||
$path = strtr(str_replace(dirname(dirname(__DIR__)).DIRECTORY_SEPARATOR, '', $file->getRealPath()), '\\', '/');
|
||||
|
||||
$path = $this->getRelativeFilePath($file);
|
||||
$content = file_get_contents($file);
|
||||
if ($strip) {
|
||||
$content = $this->stripWhitespace($content);
|
||||
|
|
Loading…
Reference in New Issue