Uses `realpath` to fix relative path issues
parent
a3f5f60359
commit
d0a9550dea
|
@ -39,18 +39,19 @@ class PathDownloader extends FileDownloader
|
||||||
));
|
));
|
||||||
|
|
||||||
$url = $package->getDistUrl();
|
$url = $package->getDistUrl();
|
||||||
if (!file_exists($url) || !is_dir($url)) {
|
$realUrl = realpath($url);
|
||||||
|
if (false === $realUrl || !file_exists($realUrl) || !is_dir($realUrl)) {
|
||||||
throw new \RuntimeException(sprintf(
|
throw new \RuntimeException(sprintf(
|
||||||
'Path "%s" is not found',
|
'Path "%s" is not found',
|
||||||
$path
|
$url
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$fileSystem->symlink($url, $path);
|
$fileSystem->symlink($realUrl, $path);
|
||||||
$this->io->writeError(sprintf(' Symlinked from %s', $url));
|
$this->io->writeError(sprintf(' Symlinked from %s', $url));
|
||||||
} catch (IOException $e) {
|
} catch (IOException $e) {
|
||||||
$fileSystem->mirror($url, $path);
|
$fileSystem->mirror($realUrl, $path);
|
||||||
$this->io->writeError(sprintf(' Mirrored from %s', $url));
|
$this->io->writeError(sprintf(' Mirrored from %s', $url));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue