| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- <?php
- require_once('PEAR/PackageFileManager2.php');
- PEAR::setErrorHandling(PEAR_ERROR_DIE);
- /**
- * Package Options
- */
- $package = 'OCF';
- $baseInstallDir = 'OCF';
- $channel = 'pear.php.net';
- $description = 'Open Flash Charts interface library';
- $dirRoles = array(
- // dirname=> role
- 'simpletest'=> 'test',
- 'examples'=> 'data',
- );
- $exceptions = array(
- // filename=> role
- 'build_package.php'=> 'data',
- );
- $ignore = array(
- // file|dir/
- 'tmp/',
- );
- $roles = array(
- // fileext=> role
- 'php'=> 'php',
- );
- $category = 'Libraries';
- $license = 'PHP';
- $notes = 'Helper library for working with Open Flash Charts';
- $version = '2.0.0';
- $apiVersion = '2.0.0';
- $simpleoutput = true;
- $state = 'beta';
- $summary = 'Open Flash Charts interface library';
- /**
- * Package metadata
- */
- $releaseStability = 'beta';
- $apiStability = 'stable';
- $maintainers = array(
- // role, username on PEAR.net,full name, email
- array('lead', 'open-flash-chart', 'John Glazebrook', 'open-flash-chart@teethgrinder.co.uk'),
- );
- $packageSourceDirectory = dirname(__FILE__);
- $options = array(
- 'baseinstalldir' => $baseInstallDir,
- 'dir_roles' => $dirRoles,
- 'exceptions' => $exceptions,
- 'filelistgenerator' => 'File',
- 'ignore' => $ignore,
- 'packagedirectory' => $packageSourceDirectory,
- 'pathtopackagefile' => dirname(__FILE__),
- 'roles' => $roles,
- 'simpleoutput' => $simpleoutput,
- 'state' => $state,
- 'version' => $version,
- );
- $pkg = new PEAR_PackageFileManager2();
- handleError($pkg->setOptions($options));
- // Set misc package information
- $pkg->setPackage($package);
- $pkg->setSummary($summary);
- $pkg->setDescription($description);
- $pkg->setChannel($channel);
- $pkg->setReleaseStability($releaseStability);
- $pkg->setAPIStability($apiStability);
- $pkg->setReleaseVersion($version);
- $pkg->setAPIVersion($apiVersion);
- $pkg->setLicense($license);
- $pkg->setNotes($notes);
- $pkg->setPackageType('php');
- $pkg->setPhpDep('5.0.0');
- $pkg->setPearinstallerDep('1.4.9');
- // Require custom file role for our web installation
- // $pkg->addPackageDepWithChannel('required', 'Role_Web', 'pearified.com');
- // Define that we will use our custom file role in this script
- // $pkg->addUsesRole('web', 'Webfiles');
- // Create the current release and add it to the package definition
- $pkg->addRelease();
- handleError($pkg->generateContents());
- // Package release needs a maintainer
- foreach($maintainers as $m) {
- handleError($pkg->addMaintainer($m[0], $m[1], $m[2], $m[3]));
- }
- if($argv[1] === 'write') {
- handleError($pkg->writePackageFile());
- exit(1);
- }
- handleError($pkg->debugPackageFile());
- /**
- * Simple error handler
- *
- * @param Exception $e
- */
- function handleError($e) {
- if(PEAR::isError($e)) {
- die($e->getMessage());
- }
- }
|