cvs: pear /HTML_TagCloud generatePackage.xml.php
| From: | Bastian Onken | Date: | Tue, 11 Dec 2007 18:58:40 +0000 |
| Subject: | cvs: pear /HTML_TagCloud generatePackage.xml.php | ||
| Groups: | php.pear.cvs | ||
| Request: | Send a blank email to pear-cvs+get-49721@lists.php.net to get a copy of this message | ||
bastianonken Tue Dec 11 18:58:40 2007 UTC
Modified files:
/pear/HTML_TagCloud generatePackage.xml.php
Log:
major refactoring of package.xml generator script:
* replaced dummy file docblock with valid information
* package generation is now completely based on PEAR_PackageManager2
* added first draft of new release 0.1.3
* added full changelog of all previous releases
http://cvs.php.net/viewvc.cgi/pear/HTML_TagCloud/generatePackage.xml.php?r1=1.4&r2=1.5&diff_format=u
Index: pear/HTML_TagCloud/generatePackage.xml.php
diff -u pear/HTML_TagCloud/generatePackage.xml.php:1.4
pear/HTML_TagCloud/generatePackage.xml.php:1.5
--- pear/HTML_TagCloud/generatePackage.xml.php:1.4 Thu Nov 22 16:06:22 2007
+++ pear/HTML_TagCloud/generatePackage.xml.php Tue Dec 11 18:58:40 2007
@@ -1,38 +1,128 @@
<?php
/*
- * A simple example
+ * Generates the package.xml file (version 2)
*
- * @category PEAR
- * @package PEAR_PackageFileManager
- * @author Greg Beaver <cellog@php.net>
- * @copyright 2003-2006 The PHP Group
- * @license http://www.php.net/license/3_01.txt PHP License 3.01
- * @version CVS: $Id: generatePackage.xml.php,v 1.4 2007/11/22 16:06:22 bastianonken Exp $
- * @link http://pear.php.net/package/PEAR_PackageFileManager
- * @since File available since Release 0.1
- * @ignore
+ * @category HTML
+ * @package HTML_TagCloud
+ * @author Bastian Onken <bastian.onken@gmx.net>
+ * @copyright 2007 Bastian Onken
+ * @license http://www.php.net/license/3_01.txt
PHP License 3.01
+ * @version CVS: $Id: generatePackage.xml.php,v 1.5 2007/12/11 18:58:40 bastianonken Exp $
+ * @link http://pear.php.net/package/HTML_TagCloud
+ * @since File available since Release 0.1.0
*/
-require_once 'PEAR/PackageFileManager.php';
+require_once 'PEAR/PackageFileManager2.php';
PEAR::setErrorHandling(PEAR_ERROR_DIE);
-$test = new PEAR_PackageFileManager();
-$test->setOptions(array(
- 'package' => 'HTML_TagCloud',
- 'summary' => 'generate a "tag cloud" in HTML',
- 'description' => 'HTML_TagCloud enables you to generate a "tag
cloud" in HTML',
- 'baseinstalldir' => 'HTML',
- 'version' => '0.1.2',
- 'packagedirectory' => dirname(__FILE__),
- 'state' => 'beta',
- 'filelistgenerator' => 'file',
- 'notes' => 'bug fix release',
- 'ignore' => array('package.xml', 'generatePackage.xml.php',
'CVS/')
- ));
-$test->addDependency('PEAR', '1.1');
-$test->addDependency('php', '5.0.0', 'ge', 'php');
-$test->addMaintainer('shomas', 'lead', 'Shoma Suzuki',
'shoma@catbot.net');
-$test->addMaintainer('bastianonken', 'lead', 'Bastian Onken',
'bastian.onken@gmx.net');
-//$test->writePackageFile();
-$test->debugPackageFile();
+$packagexml = new PEAR_PackageFileManager2();
+$packagexml->setOptions(array(
+ 'baseinstalldir' => 'HTML',
+ 'packagedirectory' => dirname(__FILE__),
+ 'filelistgenerator' => 'cvs', // generate from cvs, use file for directory
+ 'ignore' => array('generatePackage.xml.php'),
+ 'dir_roles' => array('docs' => 'doc')
+));
+$packagexml->setPackage('HTML_TagCloud');
+$packagexml->setSummary('generate a "tag cloud" in HTML');
+$packagexml->setDescription('HTML_TagCloud enables you to generate a "tag cloud"
in HTML');
+$packagexml->setChannel('pear.php.net');
+$packagexml->addMaintainer('lead', 'bastianonken', 'Bastian
Onken', 'bastian.onken@gmx.net');
+$packagexml->addMaintainer('lead', 'shomas', 'Shoma Suzuki',
'shoma@catbot.net', 'no');
+$packagexml->setLicense('PHP License', 'http://www.php.net/license');
+
+// Changelog: Release 0.1.0
+$notes = <<<EOT
+First Release as PEAR Package
+EOT;
+$packagexml->setAPIVersion('0.1.0');
+$packagexml->setAPIStability('beta');
+$packagexml->setReleaseVersion('0.1.0');
+$packagexml->setReleaseStability('beta');
+$packagexml->setLicense('PHP License', 'http://www.php.net/license');
+$packagexml->setNotes($notes);
+$packagexml->setPackageType('php'); // this is a PEAR-style php script package
+// put in Changelog
+$packagexml->setDate('2006-10-02');
+$packagexml->setChangelogEntry('0.1.0', $packagexml->generateChangeLogEntry());
+
+// Changelog: Release 0.1.1
+$notes = <<<EOT
+removed docs/CVS
+EOT;
+$packagexml->setAPIVersion('0.1.1');
+$packagexml->setAPIStability('beta');
+$packagexml->setReleaseVersion('0.1.1');
+$packagexml->setReleaseStability('beta');
+$packagexml->setLicense('PHP License', 'http://www.php.net/license');
+$packagexml->setNotes($notes);
+$packagexml->setPackageType('php'); // this is a PEAR-style php script package
+// put in Changelog
+$packagexml->setDate('2006-10-03');
+$packagexml->setChangelogEntry('0.1.1', $packagexml->generateChangeLogEntry());
+
+// Changelog: Release 0.1.2
+$notes = <<<EOT
+Bug fix release
+
+Fixed bug #10569 "Notice on line 401 running example2.php"
+Fixed bug #12419 "Extended class defines wrong array parameters"
+EOT;
+$packagexml->setAPIVersion('0.1.2');
+$packagexml->setAPIStability('beta');
+$packagexml->setReleaseVersion('0.1.2');
+$packagexml->setReleaseStability('beta');
+$packagexml->setLicense('PHP License', 'http://www.php.net/license');
+$packagexml->setNotes($notes);
+$packagexml->setPackageType('php'); // this is a PEAR-style php script package
+// put in Changelog
+$packagexml->setDate('2006-11-25');
+$packagexml->setChangelogEntry('0.1.2', $packagexml->generateChangeLogEntry());
+
+/* add changelogs for future releases above this line */
+
+// Current Release
+$notes = <<<EOT
+New features added
+
+Added requested feature #12417 "Adding weighted limitation of elements"
+ -
+EOT;
+$packagexml->setAPIVersion('0.1.3');
+$packagexml->setAPIStability('beta');
+$packagexml->setReleaseVersion('0.1.3');
+$packagexml->setReleaseStability('beta');
+$packagexml->setNotes($notes);
+$packagexml->setPackageType('php'); // this is a PEAR-style php script package
+// set as current release
+$packagexml->addRelease(); // set up a release section
+
+// get current release dependencies
+$options = array(
+ 'ignore_functions' => array(),
+ 'ignore_files' => array()
+);
+PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
+$available = $packagexml->detectDependencies($options);
+if (PEAR::isError($available)) {
+ // PHP_CompatInfo is not installed on your system, then fix PHP dep with PFM2
+ $packagexml->setPhpDep('5.1.0');
+}
+PEAR::popErrorHandling();
+
+$packagexml->setPearinstallerDep('1.4.0b1');
+
+$packagexml->generateContents(); // create the <contents> tag
+
+// to additionally generate a version 1 package.xml file
+//$pkg = &$packagexml->exportCompatiblePackageFile1(); // get a PEAR_PackageFile object
+
+if (isset($_GET['make']) || (isset($_SERVER['argv']) &&
@$_SERVER['argv'][1] == 'make')) {
+ //$pkg->writePackageFile();
+ $packagexml->writePackageFile();
+} else {
+ //$pkg->debugPackageFile();
+ $packagexml->debugPackageFile();
+}
+
?>