LibraryInstaller.php 802 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. namespace think\composer;
  3. use Composer\Package\PackageInterface;
  4. use Composer\Repository\InstalledRepositoryInterface;
  5. use React\Promise\PromiseInterface;
  6. abstract class LibraryInstaller extends \Composer\Installer\LibraryInstaller
  7. {
  8. public function install(InstalledRepositoryInterface $repo, PackageInterface $package)
  9. {
  10. return $this->makePromise(parent::install($repo, $package));
  11. }
  12. public function update(InstalledRepositoryInterface $repo, PackageInterface $initial, PackageInterface $target)
  13. {
  14. return $this->makePromise(parent::update($repo, $initial, $target));
  15. }
  16. protected function makePromise($promise)
  17. {
  18. if ($promise instanceof PromiseInterface) {
  19. return $promise;
  20. }
  21. return new Promise();
  22. }
  23. }