ini_set("display_errors", 0);
ini_set("log_errors", 1);
+/* needed for the packager, so the pharstub task can find includes */
+set_include_path(__DIR__."/../vendor/m6w6/pharext/src:".get_include_path());
+
$what = !empty($argv[1]) ? $argv[1] : "latest";
$pids = [];
fail($pkg, $ver, $skp, "signal: %d", $rc);
} else {
printf("SUCCESS: %s-%s\n", $pkg, $ver);
+ /* create skipfile, ensuring we do not build a package with
+ * different name in registry/package.xml again
+ */
+ touch($skp);
}
break;
}
return $pid > 0;
};
+function info($pkg, $dir) {
+ $inf = file_get_contents("https://pecl.php.net/rest/p/$pkg/info.xml");
+ if ($inf) {
+ file_put_contents("$dir/info.xml", $inf);
+ }
+}
+
function work($url, $dir) {
is_dir($dir) || mkdir($dir, 0777, true);
require_once __DIR__."/../vendor/autoload.php";
$url = (string) $item->link;
$pkg = basename(dirname($url));
$ver = basename($url);
- $skp = sprintf("%s/../build/%s-%s.skip", __DIR__, $pkg, $ver);
+ $skp = sprintf("%s/../skip/%s/%s", __DIR__, $pkg, $ver);
$ext = sprintf("%s/../public/phars/%s/%s-%s.ext.phar", __DIR__, $pkg, $pkg, $ver);
$dir = dirname($ext);
exit;
case 0:
work($url, $dir);
+ info($pgk, $dir);
exit;
default:
$pids[$pid] = compact("url", "pkg", "ver", "skp", "ext", "dir");