diff --git a/src/Composer/Package/Archiver/ArchiveManager.php b/src/Composer/Package/Archiver/ArchiveManager.php index 3025878d7eac..13dd7c7feba8 100644 --- a/src/Composer/Package/Archiver/ArchiveManager.php +++ b/src/Composer/Package/Archiver/ArchiveManager.php @@ -16,6 +16,7 @@ use Composer\Package\RootPackageInterface; use Composer\Util\Filesystem; use Composer\Util\Loop; +use Composer\Util\SyncHelper; use Composer\Json\JsonFile; use Composer\Package\CompletePackageInterface; @@ -149,8 +150,9 @@ public function archive(CompletePackageInterface $package, $format, $targetDir, try { // Download sources $promise = $this->downloadManager->download($package, $sourcePath); - $this->loop->wait(array($promise)); - $this->downloadManager->install($package, $sourcePath); + SyncHelper::await($this->loop, $promise); + $promise = $this->downloadManager->install($package, $sourcePath); + SyncHelper::await($this->loop, $promise); } catch (\Exception $e) { $filesystem->removeDirectory($sourcePath); throw $e;