/** * @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)); }