Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетил 17131 программист и 1834 робота. Сейчас ищут 1592 программиста ...

Class Summary PEAR_PackageFileManager

Вернуться к: PEAR_PackageFileManager

Class Summary PEAR_PackageFileManager

Class Summary PEAR_PackageFileManager – PEAR :: PackageFileManager updates the <filelist></filelist> section of a PEAR package.xml file to reflect the current files in preparation for a release.

The PEAR_PackageFileManager class uses a plugin system to generate the list of files in a package. This allows both standard recursive directory parsing (plugin type file) and more intelligent options such as the CVS browser PEAR_PackageFileManager_Cvs, which grabs all files in a local CVS checkout to create the list, ignoring any other local files.

Other options include specifying roles for file extensions (all .php files are role="php", for example), roles for directories (all directories named "tests" are given role="tests" by default), and exceptions. Exceptions are specific pathnames with * and ? wildcards that match a default role, but should have another. For example, perhaps a debug.tpl template would normally be data, but should be included in the docs role. Along these lines, to exclude files entirely, use the ignore option.

Required options for a release include version, baseinstalldir, state, and packagedirectory (the full path to the local location of the package to create a package.xml file for)

Example usage:

1      <?php    2      require_once('PEAR/PackageFileManager.php');    3      $packagexml = new
PEAR_PackageFileManager
;    4      $e = $packagexml->
setOptions
(    5      array('baseinstalldir' => 'PhpDocumentor',    6       'version' => '1.2.1',    7       'packagedirectory' => 'C:/Web Pages/chiara/phpdoc2/',    8       'state' => 'stable',    9       'filelistgenerator' => 'cvs', // generate from cvs, use file for directory    10      'notes' => 'We\'ve implemented many new and exciting features',    11      'ignore' => array('TODO', 'tests/'), // ignore TODO, all files in tests/    12      'installexceptions' => array('phpdoc' => '/*'), // baseinstalldir ="/" for phpdoc    13      'dir_roles' => array('tutorials' => 'doc'),    14      'exceptions' => array('README' => 'doc', // README would be data, now is doc    15                            'PHPLICENSE.txt' => 'doc'))); // same for the license    16     if (PEAR::isError($e)) {    17         echo $e->getMessage();    18         die();    19     }    20     $e = $test->
addPlatformException
('pear-phpdoc.bat', 'windows');    21     if (PEAR::isError($e)) {    22         echo $e->getMessage();    23         exit;    24     }    25     $packagexml->
addRole
('pkg', 'doc'); // add a new role mapping    26     if (PEAR::isError($e)) {    27         echo $e->getMessage();    28         exit;    29     }    30     // replace @PHP-BIN@ in this file with the path to php executable!  pretty neat    31     $e = $test->
addReplacement
('pear-phpdoc', 'pear-config', '@PHP-BIN@', 'php_bin');    32     if (PEAR::isError($e)) {    33         echo $e->getMessage();    34         exit;    35     }    36     $e = $test->
addReplacement
('pear-phpdoc.bat', 'pear-config', '@PHP-BIN@', 'php_bin');    37     if (PEAR::isError($e)) {    38         echo $e->getMessage();    39         exit;    40     }    41     // note use of
debugPackageFile()
- this is VERY important    42     if (isset($_GET['make']) || $_SERVER['argv'][1] == 'make') {    43         $e = $packagexml->
writePackageFile
();    44     } else {    45         $e = $packagexml->
debugPackageFile
();    46     }    47     if (PEAR::isError($e)) {    48         echo $e->getMessage();    49         die();    50     }    51     ?>

In addition, a package.xml file can now be generated from scratch, with the usage of new options package, summary, description, and the use of the addMaintainer() method

Class Trees for PEAR_PackageFileManager

  • PEAR_PackageFileManager



Вернуться к: PEAR_PackageFileManager

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware