summaryrefslogtreecommitdiffstats
path: root/vendor/markbaker/matrix/buildPhar.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/markbaker/matrix/buildPhar.php')
-rw-r--r--vendor/markbaker/matrix/buildPhar.php62
1 files changed, 62 insertions, 0 deletions
diff --git a/vendor/markbaker/matrix/buildPhar.php b/vendor/markbaker/matrix/buildPhar.php
new file mode 100644
index 0000000..8bec8be
--- /dev/null
+++ b/vendor/markbaker/matrix/buildPhar.php
@@ -0,0 +1,62 @@
+<?php
+
+# required: PHP 5.3+ and zlib extension
+
+// ini option check
+if (ini_get('phar.readonly')) {
+ echo "php.ini: set the 'phar.readonly' option to 0 to enable phar creation\n";
+ exit(1);
+}
+
+// output name
+$pharName = 'Matrix.phar';
+
+// target folder
+$sourceDir = __DIR__ . DIRECTORY_SEPARATOR . 'classes' . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR;
+
+// default meta information
+$metaData = array(
+ 'Author' => 'Mark Baker <mark@lange.demon.co.uk>',
+ 'Description' => 'PHP Class for working with Matrix numbers',
+ 'Copyright' => 'Mark Baker (c) 2013-' . date('Y'),
+ 'Timestamp' => time(),
+ 'Version' => '0.1.0',
+ 'Date' => date('Y-m-d')
+);
+
+// cleanup
+if (file_exists($pharName)) {
+ echo "Removed: {$pharName}\n";
+ unlink($pharName);
+}
+
+echo "Building phar file...\n";
+
+// the phar object
+$phar = new Phar($pharName, null, 'Matrix');
+$phar->buildFromDirectory($sourceDir);
+$phar->setStub(
+<<<'EOT'
+<?php
+ spl_autoload_register(function ($className) {
+ include 'phar://' . $className . '.php';
+ });
+
+ try {
+ Phar::mapPhar();
+ } catch (PharException $e) {
+ error_log($e->getMessage());
+ exit(1);
+ }
+
+ include 'phar://functions/sqrt.php';
+
+ __HALT_COMPILER();
+EOT
+);
+$phar->setMetadata($metaData);
+$phar->compressFiles(Phar::GZ);
+
+echo "Complete.\n";
+
+exit();