init
[pharext/pharext] / build / create-phar.php
1 <?php
2
3 /**
4 * Creates bin/pharext, invoked through the Makefile
5 */
6
7 $pkguniq = uniqid();
8 $pkgname = __DIR__."/../bin/pharext";
9 $tmpname = "$pkgname.$pkguniq.phar.tmp";
10
11 if (file_exists($tmpname)) {
12 if (!unlink($tmpname)) {
13 fprintf(STDERR, "%s\n", error_get_last()["message"]);
14 exit(3);
15 }
16 }
17
18 $package = new \Phar($tmpname, 0, "pharext.phar");
19 $package->buildFromDirectory(dirname(__DIR__)."/src", "/^.*\.php$/");
20 $package->setDefaultStub("pharext_packager.php");
21 $package->setStub("#!/usr/bin/php -dphar.readonly=0\n".$package->getStub());
22 unset($package);
23
24 if (!rename($tmpname, $pkgname)) {
25 fprintf(STDERR, "%s\n", error_get_last()["message"]);
26 exit(4);
27 }