Exemple #1
0
 public function buildPackageMap(InstallationManager $installationManager, PackageInterface $mainPackage, array $packages)
 {
     $packageMap = parent::buildPackageMap($installationManager, $mainPackage, $packages);
     $packageMap[0][1] = $installationManager->getInstallPath($mainPackage);
     // hack the install path
     return $packageMap;
 }
Exemple #2
0
 /**
  * @param string $baseDir Root directory of composer package.
  */
 public function __construct($baseDir)
 {
     $this->baseDir = $baseDir;
     $io = new NullIO();
     $this->composer = (new Factory())->createComposer($io, $baseDir . '/composer.json', true, $baseDir, false);
     $generator = new AutoloadGenerator($this->composer->getEventDispatcher(), $io);
     $generator->setDevMode(true);
     $packages = $this->composer->getRepositoryManager()->getLocalRepository()->getPackages();
     $packageMap = $generator->buildPackageMap($this->composer->getInstallationManager(), $this->composer->getPackage(), $packages);
     $packageMap[0][1] = $baseDir;
     // To make root package paths absolute too.
     $autoloads = $generator->parseAutoloads($packageMap, $this->composer->getPackage());
     $this->classLoader = $generator->createLoader($autoloads);
 }
Exemple #3
0
 /**
  * @param Event $event Event object
  * @return array Listeners
  */
 protected function getListeners(Event $event)
 {
     $package = $this->composer->getPackage();
     $scripts = $package->getScripts();
     if (empty($scripts[$event->getName()])) {
         return array();
     }
     if ($this->loader) {
         $this->loader->unregister();
     }
     $generator = new AutoloadGenerator();
     $packages = $this->composer->getRepositoryManager()->getLocalRepository()->getPackages();
     $packageMap = $generator->buildPackageMap($this->composer->getInstallationManager(), $package, $packages);
     $map = $generator->parseAutoloads($packageMap);
     $this->loader = $generator->createLoader($map);
     $this->loader->register();
     return $scripts[$event->getName()];
 }