1
0
Fork 0

Make package removals async as well, refs #9618

pull/9730/head
Jordi Boggiano 2021-02-25 11:19:33 +01:00
parent a5fecc4720
commit 67261e8d47
No known key found for this signature in database
GPG Key ID: 7BBD42C429EC80BC
2 changed files with 15 additions and 6 deletions

View File

@ -380,9 +380,13 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface
if ($output) {
$this->io->writeError(" - " . UninstallOperation::format($package));
}
if (!$this->filesystem->removeDirectory($path)) {
throw new \RuntimeException('Could not completely delete '.$path.', aborting.');
}
$promise = $this->filesystem->removeDirectoryAsync($path);
return $promise->then(function($result) use ($path) {
if (!$result) {
throw new \RuntimeException('Could not completely delete '.$path.', aborting.');
}
});
}
/**

View File

@ -215,9 +215,14 @@ abstract class VcsDownloader implements DownloaderInterface, ChangeReportInterfa
public function remove(PackageInterface $package, $path)
{
$this->io->writeError(" - " . UninstallOperation::format($package));
if (!$this->filesystem->removeDirectory($path)) {
throw new \RuntimeException('Could not completely delete '.$path.', aborting.');
}
$promise = $this->filesystem->removeDirectoryAsync($path);
return $promise->then(function($result) use ($path) {
if (!$result) {
throw new \RuntimeException('Could not completely delete '.$path.', aborting.');
}
});
}
/**