protected function getPackageKeyFromManifest(array $manifest, $packagePath)
{
if (isset($manifest['extra']['neos']['package-key']) && $this->isPackageKeyValid($manifest['extra']['neos']['package-key'])) {
return $manifest['extra']['neos']['package-key'];
}
$composerName = $manifest['name'];
$autoloadNamespace = null;
$type = null;
if (isset($manifest['autoload']['psr-0']) && is_array($manifest['autoload']['psr-0'])) {
$namespaces = array_keys($manifest['autoload']['psr-0']);
$autoloadNamespace = reset($namespaces);
}
if (isset($manifest['type'])) {
$type = $manifest['type'];
}
return $this->derivePackageKey($composerName, $type, $packagePath, $autoloadNamespace);
}