X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fpharext%2FSourceDir%2FPecl.php;h=277e122b255c9cd67b140dcde8bf68df412a264b;hb=e44f0adc7b18845a2cd3dc63fdab5d9bcdc10f76;hp=351eaa21eae0b869dcb1cf857d049a4b426c821a;hpb=4b95e2c390f07d2eb22d099c33b68c7f9ff97777;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()