public function activate(Composer $composer, IOInterface $io)
 {
     $this->io = $io;
     $this->composer = $composer;
     $this->filesystem = new Filesystem();
     $this->config = new ProjectConfig($composer->getPackage()->getExtra());
     $installer = new Installer($io, $composer);
     $this->initDeployManager($composer, $io);
     $installer->setDeployManager($this->deployManager);
     $installer->setConfig($this->config);
     if ($this->io->isDebug()) {
         $this->io->write('activate magento plugin');
     }
     $composer->getInstallationManager()->addInstaller($installer);
 }
 /**
  * Force regeneration of var/di, var/cache, var/generation on next object manager invocation
  *
  * @return void
  */
 private function requestRegeneration()
 {
     if (is_writable($this->installer->getTargetDir() . $this->varFolder)) {
         $filename = $this->installer->getTargetDir() . $this->varFolder . $this->regenerate;
         touch($filename);
     }
 }
Example #3
0
    /**
     * Generate file with path to Composer 'vendor' dir to be used by the application
     *
     * @param \Composer\Composer $composer
     * @throws \UnexpectedValueException
     */
    private function saveVendorDirPath(Composer $composer)
    {
        $magentoDir = $this->installer->getTargetDir();
        $vendorDirPath = $this->filesystem->findShortestPath($magentoDir, realpath($composer->getConfig()->get('vendor-dir')), true);
        $vendorPathFile = $magentoDir . '/app/etc/vendor_path.php';
        $content = <<<AUTOLOAD
<?php
/**
 * Path to Composer vendor directory
 */
return '{$vendorDirPath}';

AUTOLOAD;
        file_put_contents($vendorPathFile, $content);
    }
 /**
  * Update Magento core
  * 
  * @param InstalledRepositoryInterface $repo    repository in which to check
  * @param PackageInterface             $initial already installed package version
  * @param PackageInterface             $package package instance
  */
 public function update(InstalledRepositoryInterface $repo, PackageInterface $initial, PackageInterface $package)
 {
     parent::update($repo, $initial, $package);
     $this->prepareMagento($package);
 }