projects
/
pharext
/
pharext
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
support for zend_extension
[pharext/pharext]
/
src
/
pharext
/
SourceDir
/
Pecl.php
diff --git
a/src/pharext/SourceDir/Pecl.php
b/src/pharext/SourceDir/Pecl.php
index a9150ced7b0904adfc0fa27fe21186c1c75cd91e..9ca97264c480923817c1b5e1f808954888c8cf33 100644
(file)
--- a/
src/pharext/SourceDir/Pecl.php
+++ b/
src/pharext/SourceDir/Pecl.php
@@
-3,6
+3,7
@@
namespace pharext\SourceDir;
use pharext\Command;
namespace pharext\SourceDir;
use pharext\Command;
+use pharext\Exception;
use pharext\SourceDir;
/**
use pharext\SourceDir;
/**
@@
-33,24
+34,34
@@
class Pecl implements \IteratorAggregate, SourceDir
* @see \pharext\SourceDir::__construct()
*/
public function __construct(Command $cmd, $path) {
* @see \pharext\SourceDir::__construct()
*/
public function __construct(Command $cmd, $path) {
- if (!realpath("$path/package.xml")) {
- throw new \Exception("Missing package.xml in $path");
+ if (realpath("$path/package2.xml")) {
+ $sxe = simplexml_load_file("$path/package2.xml");
+ } elseif (realpath("$path/package.xml")) {
+ $sxe = simplexml_load_file("$path/package.xml");
+ } else {
+ throw new Exception("Missing package.xml in $path");
}
}
- $sxe = simplexml_load_file("$path/package.xml");
$sxe->registerXPathNamespace("pecl", $sxe->getDocNamespaces()[""]);
$args = $cmd->getArgs();
if (!isset($args->name)) {
$name = (string) $sxe->xpath("/pecl:package/pecl:name")[0];
foreach ($args->parse(2, ["--name", $name]) as $error) {
$sxe->registerXPathNamespace("pecl", $sxe->getDocNamespaces()[""]);
$args = $cmd->getArgs();
if (!isset($args->name)) {
$name = (string) $sxe->xpath("/pecl:package/pecl:name")[0];
foreach ($args->parse(2, ["--name", $name]) as $error) {
- $cmd->
error
("%s\n", $error);
+ $cmd->
warn
("%s\n", $error);
}
}
if (!isset($args->release)) {
$release = (string) $sxe->xpath("/pecl:package/pecl:version/pecl:release")[0];
foreach ($args->parse(2, ["--release", $release]) as $error) {
}
}
if (!isset($args->release)) {
$release = (string) $sxe->xpath("/pecl:package/pecl:version/pecl:release")[0];
foreach ($args->parse(2, ["--release", $release]) as $error) {
- $cmd->error("%s\n", $error);
+ $cmd->warn("%s\n", $error);
+ }
+ }
+ if (!isset($args->zend)) {
+ if ($sxe->xpath("/pecl:package/pecl:zendextsrcrelease")) {
+ foreach ($args->parse(1, ["--zend"]) as $error) {
+ $cmd->warn("%s\n", $error);
+ }
}
}
}
}
@@
-86,7
+97,8
@@
class Pecl implements \IteratorAggregate, SourceDir
* @return string
*/
private static function loadHook($configure, $dependencies) {
* @return string
*/
private static function loadHook($configure, $dependencies) {
- return include __DIR__."/../pharext_install.tpl.php";
+ require_once "pharext/Version.php";
+ return include __DIR__."/../../pharext_install.tpl.php";
}
/**
}
/**
@@
-103,7
+115,7
@@
class Pecl implements \IteratorAggregate, SourceDir
substr($b, strpos(".ext.phar", $b))
);
});
substr($b, strpos(".ext.phar", $b))
);
});
- yield
realpath($this->path."/".end($glob)
);
+ yield
end($glob
);
} else {
unset($dependencies[$key]);
}
} else {
unset($dependencies[$key]);
}
@@
-129,17
+141,17
@@
class Pecl implements \IteratorAggregate, SourceDir
private function generateFiles() {
foreach ($this->generateHooks() as $file => $hook) {
if ($this->cmd->getArgs()->verbose) {
private function generateFiles() {
foreach ($this->generateHooks() as $file => $hook) {
if ($this->cmd->getArgs()->verbose) {
- $this->cmd->info("Packaging %s\n", is_s
tring
($hook) ? $hook : $file);
+ $this->cmd->info("Packaging %s\n", is_s
calar
($hook) ? $hook : $file);
}
yield $file => $hook;
}
foreach ($this->sxe->xpath("//pecl:file") as $file) {
$path = $this->path ."/". $this->dirOf($file) ."/". $file["name"];
if ($this->cmd->getArgs()->verbose) {
}
yield $file => $hook;
}
foreach ($this->sxe->xpath("//pecl:file") as $file) {
$path = $this->path ."/". $this->dirOf($file) ."/". $file["name"];
if ($this->cmd->getArgs()->verbose) {
- $this->cmd->info("Packaging %s\n",
$path
);
+ $this->cmd->info("Packaging %s\n",
substr($path, strlen($this->path))
);
}
if (!($realpath = realpath($path))) {
}
if (!($realpath = realpath($path))) {
- $this->cmd->
error
("File %s does not exist", $path);
+ $this->cmd->
warn
("File %s does not exist", $path);
}
yield $realpath;
}
}
yield $realpath;
}