/** * Return the install path based on package type. * * Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework * must be installed to 'sapphire' and not 'framework' if the version is <3.0.0 * * @param PackageInterface $package * @param string $frameworkType * @return string */ public function getInstallPath(PackageInterface $package, $frameworkType = '') { if ($package->getName() == 'silverstripe/framework' && preg_match('/^\\d+\\.\\d+\\.\\d+/', $package->getVersion()) && version_compare($package->getVersion(), '2.999.999') < 0) { return $this->templatePath($this->locations['module'], array('name' => 'sapphire')); } else { return parent::getInstallPath($package, $frameworkType); } }
/** * Add installer-name for CakePHP >= 3.0.0 * * @param PackageInterface $package * @param string $frameworkType * @return string */ public function getInstallPath(PackageInterface $package, $frameworkType = '') { $extra = $package->getExtra(); if (empty($extra['installer-name']) && $this->matchesCakeVersion('>=', '3.0.0')) { $this->setInstallerName($package); } return parent::getInstallPath($package, $frameworkType); }
/** * getInstallPath * * @param PackageInterface $package * @param string $frameworkType * @return void */ public function getInstallPath(PackageInterface $package, $frameworkType = '') { $installPath = parent::getInstallPath($package, $frameworkType); $type = $this->package->getType(); if ($type === 'oxid-module') { $this->prepareVendorDirectory($installPath); } return $installPath; }
public function getInstallPath(PackageInterface $package, $frameworkType = '') { $version = "{$frameworkType}Locations"; $this->locations = $this->{$version}; return parent::getInstallPath($package, $frameworkType); }