Re: [PEAR-CORE] svn: /pear2/Pyrus_Developer/trunk/src/Pyrus/Developer/PackageFile/ Commands.php
[email protected] (Brett Bieber) Sat, 26 Feb 2011 09:01:08 -0600
| Newsgroups | php.pear.cvs,php.pear.core |
|---|---|
| Message-ID | <[email protected]> |
Excellent, thank you! On Fri, Feb 25, 2011 at 10:34 PM, Daniel O'Connor <[email protected]> wrote: > clockwerx Sat, 26 Feb 2011 04:34:53 +0000 > > Revision: http://svn.php.net/viewvc?view=revision&revision=308702 > > Log: > Prevent fatal errors when only a package2.xml is present, ala XML_RPC2 > > Changed paths: > U pear2/Pyrus_Developer/trunk/src/Pyrus/Developer/PackageFile/Commands.php > > Modified: pear2/Pyrus_Developer/trunk/src/Pyrus/Developer/PackageFile/Commands.php > =================================================================== > --- pear2/Pyrus_Developer/trunk/src/Pyrus/Developer/PackageFile/Commands.php 2011-02-26 01:33:54 UTC (rev 308701) > +++ pear2/Pyrus_Developer/trunk/src/Pyrus/Developer/PackageFile/Commands.php 2011-02-26 04:34:53 UTC (rev 308702) > @@ -151,31 +151,45 @@ > echo "done\n"; > } > > + /** @todo Consider simply injecting the Package object as appropriate */ > function package($frontend, $args, $options) > { > - $package = false; > - if (!isset($args['packagexml'])) { > + $path = getcwd() . DIRECTORY_SEPARATOR; > + $package = new \PEAR2\Pyrus\Package(null); > + > + > + if (!isset($args['packagexml']) && !file_exists($path . 'package.xml') && !file_exists($path . 'package2.xml')) { > + throw new \PEAR2\Pyrus\PackageFile\Exception("No package.xml or package2.xml found in " . $path); > + } > + > + if (isset($args['packagexml'])) { > + $package = new \PEAR2\Pyrus\Package($args['packagexml']); > + } else { > // first try ./package.xml > - if (file_exists('package.xml')) { > + if (file_exists($path . 'package.xml')) { > try { > - $package = new \PEAR2\Pyrus\Package(getcwd() . DIRECTORY_SEPARATOR . 'package.xml'); > + $package = new \PEAR2\Pyrus\Package($path . 'package.xml'); > } catch (\PEAR2\Pyrus\PackageFile\Exception $e) { > if ($e->getCode() != -3) { > throw $e; > } > > - if (!file_exists('package2.xml')) { > + if (!file_exists($path . 'package2.xml')) { > throw $e; > } > > - $package = new \PEAR2\Pyrus\Package(getcwd() . DIRECTORY_SEPARATOR . 'package2.xml'); > + $package = new \PEAR2\Pyrus\Package($path . 'package2.xml'); > // now the creator knows to do the magic of package2.xml/package.xml > $package->thisIsOldAndCrustyCompatible(); > } > } > - } else { > - $package = new \PEAR2\Pyrus\Package($args['packagexml']); > + > + // Alternatively; there's only a package2.xml > + if (file_exists($path . 'package2.xml') && !file_exists($path . 'package.xml')) { > + $package = new \PEAR2\Pyrus\Package($path . 'package2.xml'); > + } > } > + > if ($package->isNewPackage()) { > if (!$options['phar'] && !$options['zip'] && !$options['tar'] && !$options['tgz']) { > // try tgz first > > > -- > PEAR Core List Mailing List (http://pear.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- Brett Bieber University of Nebraska-Lincoln