Ejemplo n.º 1
0
 public function __construct(PackageInterface $package = null, Composer $composer = null, IOInterface $io = null)
 {
     if (null === $package) {
         $package = $composer->getPackage();
     }
     $extraOxidRoot = $extraModuleVendor = false;
     if (null !== $package) {
         $extra = $package->getExtra();
         if (isset($extra['oxid-root'])) {
             foreach ($this->locations as $name => $location) {
                 $this->locations[$name] = "{$extra['oxid-root']}/{$location}";
             }
             $extraOxidRoot = true;
         }
         if (isset($extra['module-vendor'])) {
             $this->locations['module'] = str_replace('modules/', "modules/{$extra['module-vendor']}/", $this->locations['module']);
             $extraModuleVendor = true;
         }
     }
     $composerPackage = $composer->getPackage();
     if (null !== $composerPackage) {
         $extra = $composerPackage->getExtra();
         if (isset($extra['oxid-root']) && !$extraOxidRoot) {
             foreach ($this->locations as $name => $location) {
                 $this->locations[$name] = "{$extra['oxid-root']}/{$location}";
             }
         }
         if (isset($extra['module-vendor']) && !$extraModuleVendor) {
             $this->locations['module'] = str_replace('modules/', "modules/{$extra['module-vendor']}/", $this->locations['module']);
         }
     }
     parent::__construct($package, $composer, $io);
 }
Ejemplo n.º 2
0
 /**
  * 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);
     }
 }
Ejemplo n.º 3
0
 /**
  * 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);
 }
Ejemplo n.º 4
0
 /**
  * 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);
 }
Ejemplo n.º 6
0
 /**
  * {@inheritdoc}
  */
 protected function templatePath($path, array $vars = array())
 {
     $templatePath = parent::templatePath($path, $vars);
     $this->checkDuplicates($templatePath, $vars);
     return $templatePath;
 }