Пример #1
0
 protected function installCode(PackageInterface $package)
 {
     parent::installCode($package);
     parent::initializeBinDir();
     $isWindows = defined('PHP_WINDOWS_VERSION_BUILD');
     $php_bin = $this->binDir . ($isWindows ? '/composer-php.bat' : '/composer-php');
     $installPath = $this->getInstallPath($package);
     $vars = array('os' => $isWindows ? 'windows' : 'linux', 'php_bin' => $php_bin, 'pear_php' => $installPath, 'php_dir' => $installPath, 'bin_dir' => $installPath . '/bin', 'data_dir' => $installPath . '/data', 'version' => $package->getPrettyVersion());
     $packageArchive = $this->getInstallPath($package) . '/' . pathinfo($package->getDistUrl(), PATHINFO_BASENAME);
     $pearExtractor = new PearPackageExtractor($packageArchive);
     $pearExtractor->extractTo($this->getInstallPath($package), array('php' => '/', 'script' => '/bin', 'data' => '/data'), $vars);
     if ($this->io->isVerbose()) {
         $this->io->write('    Cleaning up');
     }
     unlink($packageArchive);
 }
Пример #2
0
 protected function installCode(PackageInterface $package)
 {
     parent::installCode($package);
     $isWindows = Platform::isWindows();
     $php_bin = $this->binDir . ($isWindows ? '/composer-php.bat' : '/composer-php');
     if (!$isWindows) {
         $php_bin = '/usr/bin/env ' . $php_bin;
     }
     $installPath = $this->getInstallPath($package);
     $vars = array('os' => $isWindows ? 'windows' : 'linux', 'php_bin' => $php_bin, 'pear_php' => $installPath, 'php_dir' => $installPath, 'bin_dir' => $installPath . '/bin', 'data_dir' => $installPath . '/data', 'version' => $package->getPrettyVersion());
     $packageArchive = $this->getInstallPath($package) . '/' . pathinfo($package->getDistUrl(), PATHINFO_BASENAME);
     $pearExtractor = new PearPackageExtractor($packageArchive);
     $pearExtractor->extractTo($this->getInstallPath($package), array('php' => '/', 'script' => '/bin', 'data' => '/data'), $vars);
     $this->io->writeError('    Cleaning up', true, IOInterface::VERBOSE);
     $this->filesystem->unlink($packageArchive);
 }
Пример #3
0
 /**
  * {@inheritDoc}
  */
 public function download(PackageInterface $package, $path)
 {
     parent::download($package, $path);
     $fileName = $this->getFileName($package, $path);
     if ($this->io->isVerbose()) {
         $this->io->write('    Installing PEAR package');
     }
     try {
         $pearExtractor = new PearPackageExtractor($fileName);
         $pearExtractor->extractTo($path);
         if ($this->io->isVerbose()) {
             $this->io->write('    Cleaning up');
         }
         unlink($fileName);
     } catch (\Exception $e) {
         // clean up
         $this->filesystem->removeDirectory($path);
         throw $e;
     }
     $this->io->write('');
 }