diff --git a/src/Composer/Downloader/FileDownloader.php b/src/Composer/Downloader/FileDownloader.php index 77a310888..21a3e858b 100644 --- a/src/Composer/Downloader/FileDownloader.php +++ b/src/Composer/Downloader/FileDownloader.php @@ -141,7 +141,7 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface ->then($accept, $reject); } - return $result->then(function ($result) use ($fileName, $checksum, $url, $eventDispatcher) { + return $result->then(function ($result) use ($fileName, $checksum, $url, $package, $eventDispatcher) { // in case of retry, the first call's Promise chain finally calls this twice at the end, // once with $result being the returned $fileName from $accept, and then once for every // failed request with a null result, which can be skipped. @@ -159,7 +159,7 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface } if ($eventDispatcher) { - $postFileDownloadEvent = new PostFileDownloadEvent(PluginEvents::POST_FILE_DOWNLOAD, $fileName, $checksum, $url['processed']); + $postFileDownloadEvent = new PostFileDownloadEvent(PluginEvents::POST_FILE_DOWNLOAD, $fileName, $checksum, $url['processed'], $package); $eventDispatcher->dispatch($postFileDownloadEvent->getName(), $postFileDownloadEvent); } diff --git a/src/Composer/Plugin/PostFileDownloadEvent.php b/src/Composer/Plugin/PostFileDownloadEvent.php index 081e64507..a4bc2ac4a 100644 --- a/src/Composer/Plugin/PostFileDownloadEvent.php +++ b/src/Composer/Plugin/PostFileDownloadEvent.php @@ -13,7 +13,7 @@ namespace Composer\Plugin; use Composer\EventDispatcher\Event; -use Composer\Util\RemoteFilesystem; +use Composer\Package\PackageInterface; /** * The post file download event. @@ -38,6 +38,11 @@ class PostFileDownloadEvent extends Event */ private $url; + /** + * @var \Composer\Package\PackageInterface + */ + private $package; + /** * Constructor. * @@ -45,13 +50,15 @@ class PostFileDownloadEvent extends Event * @param string $fileName The file name * @param string|null $checksum The checksum * @param string $url The processed url + * @param PackageInterface $package The package. */ - public function __construct($name, $fileName, $checksum, $url) + public function __construct($name, $fileName, $checksum, $url, PackageInterface $package) { parent::__construct($name); $this->fileName = $fileName; $this->checksum = $checksum; $this->url = $url; + $this->package = $package; } /** @@ -82,4 +89,14 @@ class PostFileDownloadEvent extends Event return $this->url; } + /** + * Get the package. + * + * @return \Composer\Package\PackageInterface + * The package. + */ + public function getPackage() { + return $this->package; + } + }