diff options
Diffstat (limited to 'buildscripts/phing/classes/phing/types/PearPackageFileSet.php')
-rw-r--r-- | buildscripts/phing/classes/phing/types/PearPackageFileSet.php | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/buildscripts/phing/classes/phing/types/PearPackageFileSet.php b/buildscripts/phing/classes/phing/types/PearPackageFileSet.php deleted file mode 100644 index 8cf99b28..00000000 --- a/buildscripts/phing/classes/phing/types/PearPackageFileSet.php +++ /dev/null @@ -1,179 +0,0 @@ -<?php -/** - * Part of phing, the PHP build tool - * - * PHP version 5 - * - * @category Types - * @package phing.types - * @author Christian Weiske <cweiske@cweiske.de> - * @license LGPL v3 or later http://www.gnu.org/licenses/lgpl.html - * @version SVN: $Id: 5ba010b83645d0ea709761a3d8260fc013239458 $ - * @link http://www.phing.info/ - */ -require_once 'phing/types/FileSet.php'; -require_once 'PEAR/Config.php'; -require_once 'phing/util/PearPackageScanner.php'; - -/** - * Fileset that contains files of an installed PEAR package. - * It can be used to package up PEAR package dependencies in own - * release files (zip, tgz, phar). - * - * @internal - * A normal fileset is used that way in CopyTask, rSTTask: - * <code> - * $ds = $fs->getDirectoryScanner($project); - * $fromDir = $fs->getDir($project); - * $srcFiles = $ds->getIncludedFiles(); - * $srcDirs = $ds->getIncludedDirectories(); - * </code> - * The scanner is used as follows: - * <code> - * $ds->getBaseDir() - * $ds->scan() - * </code> - * - * @category Types - * @package phing.types - * @author Christian Weiske <cweiske@cweiske.de> - * @license LGPL v3 or later http://www.gnu.org/licenses/lgpl.html - * @link http://www.phing.info/ - */ -class PearPackageFileSet extends FileSet -{ - /** - * Name of channel the package is from, e.g. "pear.php.net". - * - * @var string - */ - protected $channel; - - /** - * Package name to get files from, e.g. "Console_CommandLine" - * - * @var string - */ - protected $package; - - /** - * Use files of that role only. - * Multiple roles are not supported, and you always have to specify one. - * - * @var string - */ - protected $role = 'php'; - - /** - * Prefix to prepend to the file paths in the zip - */ - protected $prefix; - - /** - * Full path to a PEAR config file. - * If none provided, default one is used. - */ - protected $config; - - /** - * @var PearPackageScanner instance - */ - protected $pps; - - - /** - * Creates and returns the pear package scanner. - * Scanner already has scan() called. - * - * @param Project $project Current phing project - * - * @return PearPackageScanner - */ - public function getDirectoryScanner(Project $project) - { - if ($this->isReference()) { - $obj = $this->getRef($project); - return $obj->getDirectoryScanner($project); - } - - $this->loadPearPackageScanner(); - return $this->pps; - } - - /** - * Returns the base directory all package files are relative to - * - * @return PhingFile Base directory - */ - public function getDir() - { - if ($this->pps === null) { - $this->loadPearPackageScanner(); - } - return new PhingFile((string) $this->pps->getBaseDir()); - } - - /** - * Loads the package scanner instance into $this->pps - * - * @return void - */ - protected function loadPearPackageScanner() - { - $this->pps = new PearPackageScanner(); - $this->pps->setPackage($this->package); - $this->pps->setChannel($this->channel); - $this->pps->setRole($this->role); - $this->pps->setConfig($this->config); - $this->pps->scan(); - } - - /** - * Sets the package name. - * If no channel is given, "pear.php.net" is used. - * - * @param string $package Single package name, or "channel/name" combination - * - * @return void - */ - public function setPackage($package) - { - $parts = explode('/', $package); - if (count($parts) > 2) { - throw new BuildException('Invalid package name: ' . $package); - } - - if (count($parts) == 1) { - $this->channel = 'pear.php.net'; - $this->package = $parts[0]; - } else { - $this->channel = $parts[0]; - $this->package = $parts[1]; - } - } - - /** - * Sets the role of files that should be included. - * Examples are php,doc,script - * - * @param string $role PEAR file role - * - * @return void - */ - public function setRole($role) - { - $this->role = $role; - } - - /** - * Sets the full path to the PEAR configuration file - * - * @param string $config Configuration file - * - * @return void - */ - public function setConfig($config) - { - $this->config = $config; - } -} |