Class Samenvatting PEAR_PackageFileManager

Class Samenvatting PEAR_PackageFileManager() – PEAR :: PackageGenerate update de <filelist></filelist> sectie ven een PEAR package.xml bestand om hetzelfde te zijn als de bestanden momneteel zijn als een voorberijding op een release.

PEAR :: PackageGenerate update de <filelist></filelist> sectie ven een PEAR package.xml bestand om hetzelfde te zijn als de bestanden momneteel zijn als een voorberijding op een release.

De PEAR_PackageGenerate class gebruikt een plugin om de bestands lijst van een pakket te genereren. Hiermee kan zowel standaard recursieve directory parsing (plugin type file) en meer intelligente opties zoals de CVS browser PEAR_PackageFileManager_Cvs, welke alle bestanden van een lokale CVS checkout to een list maakt, negerent alle andere lokale bestanden.

Andere opties zijn onderandere het specificeren van z.g.n. roles voor bestands extensies (alle .php bestanden zijn role="php", bijvoorbeeld), roles voor directories (alle directories genaamd "tests" worden role="tests" als default), en excepties. Excepties zijn specifieke padnamen met * en ? wildcards die bij een standaard role horen,maar zouden eigenlijk een andere moeten hebben. Bijvoorbeeld, mischien een debug.tpl template zou normaal data zijn, maar moet worden ge include als een doc role. Some met deze regels, om bestanden kompleet te negeren, gebruik de negeer optie.

Verplichte opties voor een release zijn version, baseinstalldir, state en packagedirectory (het volledige pad naar de lokale locatie van het pakket waar package.xml gemaakt moet worden)

Voorbeeld gebruik:

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  - this is VERY important
42     if (isset($_GET['make']) || $_SERVER['argv'][2] == '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     ?>
52
53     In addition, a package.xml file can now be generated from
54     scratch, with the usage of new options package, summary, description, and
55     the use of the  method

Class Trees voor PEAR_PackageFileManager()

  • PEAR_PackageFileManager

PEAR_PackageFileManager (Previous) Does nothing, use setOptions (Next)
Last updated: Sun, 19 Dec 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.