annotate vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2 namespace Composer\Installers;
Chris@0 3
Chris@0 4 /**
Chris@0 5 * An installer to handle TYPO3 Flow specifics when installing packages.
Chris@0 6 */
Chris@0 7 class TYPO3FlowInstaller extends BaseInstaller
Chris@0 8 {
Chris@0 9 protected $locations = array(
Chris@0 10 'package' => 'Packages/Application/{$name}/',
Chris@0 11 'framework' => 'Packages/Framework/{$name}/',
Chris@0 12 'plugin' => 'Packages/Plugins/{$name}/',
Chris@0 13 'site' => 'Packages/Sites/{$name}/',
Chris@0 14 'boilerplate' => 'Packages/Boilerplates/{$name}/',
Chris@0 15 'build' => 'Build/{$name}/',
Chris@0 16 );
Chris@0 17
Chris@0 18 /**
Chris@0 19 * Modify the package name to be a TYPO3 Flow style key.
Chris@0 20 *
Chris@0 21 * @param array $vars
Chris@0 22 * @return array
Chris@0 23 */
Chris@0 24 public function inflectPackageVars($vars)
Chris@0 25 {
Chris@0 26 $autoload = $this->package->getAutoload();
Chris@0 27 if (isset($autoload['psr-0']) && is_array($autoload['psr-0'])) {
Chris@0 28 $namespace = key($autoload['psr-0']);
Chris@0 29 $vars['name'] = str_replace('\\', '.', $namespace);
Chris@0 30 }
Chris@0 31 if (isset($autoload['psr-4']) && is_array($autoload['psr-4'])) {
Chris@0 32 $namespace = key($autoload['psr-4']);
Chris@0 33 $vars['name'] = rtrim(str_replace('\\', '.', $namespace), '.');
Chris@0 34 }
Chris@0 35
Chris@0 36 return $vars;
Chris@0 37 }
Chris@0 38 }