X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fpharext%2FSourceDir%2FPecl.php;h=277e122b255c9cd67b140dcde8bf68df412a264b;hb=975b503f8cb6e5f4621057712edc3ff6273366c6;hp=351eaa21eae0b869dcb1cf857d049a4b426c821a;hpb=e8a5f7bb7babd1dfc0d8bff3d98dd6a4751d1bf4;p=pharext%2Fpharext diff --git a/src/pharext/SourceDir/Pecl.php b/src/pharext/SourceDir/Pecl.php index 351eaa2..277e122 100644 --- a/src/pharext/SourceDir/Pecl.php +++ b/src/pharext/SourceDir/Pecl.php @@ -5,13 +5,15 @@ namespace pharext\SourceDir; use pharext\Cli\Args; use pharext\Exception; use pharext\SourceDir; -use pharext\Tempfile; +use pharext\License; /** * A PECL extension source directory containing a v2 package.xml */ class Pecl implements \IteratorAggregate, SourceDir { + use License; + /** * The package.xml * @var SimpleXmlElement @@ -73,6 +75,25 @@ class Pecl implements \IteratorAggregate, SourceDir } } + /** + * @inheritdoc + * @return string + */ + public function getLicense() { + if (($license = $this->sxe->xpath("/pecl:package/pecl:license"))) { + if (($file = $this->findLicense($this->getBaseDir(), $license[0]["filesource"]))) { + return $this->readLicense($file); + } + } + if (($file = $this->findLicense($this->getBaseDir()))) { + return $this->readLicense($file); + } + if ($license) { + return $license[0] ." ". $license[0]["uri"]; + } + return "UNKNOWN"; + } + /** * @inheritdoc * @see \pharext\SourceDir::getArgs()