protected function writeComposerManifest()
{
$composerJsonFilename = Files::concatenatePaths(array($this->targetPackageData['path'], 'composer.json'));
if (file_exists($composerJsonFilename)) {
return;
}
$manifest = array();
$nameParts = explode('.', $this->targetPackageData['packageKey']);
$vendor = array_shift($nameParts);
$manifest['name'] = strtolower($vendor . '/' . implode('-', $nameParts));
switch ($this->targetPackageData['category']) {
case 'Application':
$manifest['type'] = 'typo3-flow-package';
break;
default:
$manifest['type'] = strtolower('typo3-flow-' . $this->targetPackageData['category']);
}
$manifest['description'] = $this->targetPackageData['meta']['description'];
$manifest['version'] = $this->targetPackageData['meta']['version'];
$manifest['require'] = array('typo3/flow' => '*');
$manifest['autoload'] = array('psr-0' => array(str_replace('.', '\\', $this->targetPackageData['packageKey']) => 'Classes'));
if (defined('JSON_PRETTY_PRINT')) {
file_put_contents($composerJsonFilename, json_encode($manifest, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
} else {
file_put_contents($composerJsonFilename, json_encode($manifest));
}
}