Exemplo n.º 1
0
 /**
  * @param PackageInterface $package
  * @param string $sourceDir
  * @return Parser
  * @throws \ErrorException
  */
 public function make(PackageInterface $package, $sourceDir)
 {
     $moduleSpecificMap = $this->config->getMagentoMapOverwrite();
     if (isset($moduleSpecificMap[$package->getName()])) {
         $map = $moduleSpecificMap[$package->getName()];
         return new MapParser($map);
     }
     $extra = $package->getExtra();
     if (isset($extra['map'])) {
         return new MapParser($extra['map']);
     }
     if (isset($extra['package-xml'])) {
         return new PackageXmlParser(sprintf('%s/%s', $sourceDir, $extra['package-xml']));
     }
     $modmanFile = sprintf('%s/modman', $sourceDir);
     if (file_exists($modmanFile)) {
         return new ModmanParser($modmanFile);
     }
     throw new \ErrorException(sprintf('Unable to find deploy strategy for module: "%s" no known mapping' . PHP_EOL . 'sourceDir: "%s"', $package->getName(), $sourceDir));
 }