use a Metadata class
authorMichael Wallner <mike@php.net>
Fri, 15 May 2015 08:18:01 +0000 (10:18 +0200)
committerMichael Wallner <mike@php.net>
Fri, 15 May 2015 08:18:20 +0000 (10:18 +0200)
Makefile
bin/pharext
build/Metadata.php.in [new file with mode: 0644]
build/Version.php.in [deleted file]
build/create-phar.php
src/pharext/Metadata.php [new file with mode: 0644]
src/pharext/Packager.php
src/pharext/Version.php [deleted file]

index 4c78e66c8a43c6bd6ba81ca82efe033e10e6813d..41b8041305a66b4df0e894173db7312bb87c0e29 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -21,11 +21,11 @@ release:
        @echo "Previous Version: $$(git tag --list | tail -n1)"; \
        read -p "Release Version:  v" VERSION; \
        echo "Preparing release ... "; \
-       sed -e "s/@PHAREXT_VERSION@/$$VERSION/" build/Version.php.in > src/pharext/Version.php && \
+       sed -e "s/@dev-master/$$VERSION/" build/Metadata.php.in > src/pharext/Metadata.php && \
        $(MAKE) -B SIGN=1 && \
        git ci -am "release v$$VERSION" && \
        git tag v$$VERSION && \
-       cp build/Version.php.in src/pharext/Version.php && \
+       cp build/Metadata.php.in src/pharext/Metadata.php && \
        git ci -am "back to dev"
 
 .PHONY: all clean test release
index 1d9f2b0f94a8618855746a559250b7241dac11ed..bd2b67f161c939c4a1e80babffb8537677b4650d 100755 (executable)
Binary files a/bin/pharext and b/bin/pharext differ
diff --git a/build/Metadata.php.in b/build/Metadata.php.in
new file mode 100644 (file)
index 0000000..db3ab81
--- /dev/null
@@ -0,0 +1,26 @@
+<?php
+
+namespace pharext;
+
+class Metadata
+{
+       static function version() {
+               return "@dev-master";
+       }
+
+       static function header() {
+               return sprintf("pharext v%s (c) Michael Wallner <mike@php.net>", self::version());
+       }
+
+       static function date() {
+               return gmdate("Y-m-d");
+       }
+
+       static function all() {
+               return [
+                       "version" => self::version(),
+                       "header" => self::header(),
+                       "date" => self::date(),
+               ];
+       }
+}
diff --git a/build/Version.php.in b/build/Version.php.in
deleted file mode 100644 (file)
index 50a2875..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-namespace pharext;
-
-const VERSION = "@PHAREXT_VERSION@";
index 4836cebf6e30438cf85f2dec5ab1cf1b1b08c7bc..409bf8e3a3a5a3c38db6c6c47169b0185c85eae7 100644 (file)
@@ -11,11 +11,8 @@ spl_autoload_register(function($c) {
 
 require_once __DIR__."/../src/pharext/Version.php";
 
-$file = (new pharext\Task\PharBuild(null, [
-       "header" => sprintf("pharext v%s (c) Michael Wallner <mike@php.net>", pharext\VERSION),
-       "version" => pharext\VERSION,
+$file = (new pharext\Task\PharBuild(null, pharext\Metadata::all() + [
        "name" => "pharext",
-       "date" => date("Y-m-d"),
        "stub" => "pharext_packager.php",
        "license" => file_get_contents(__DIR__."/../LICENSE")
 ], false))->run();
diff --git a/src/pharext/Metadata.php b/src/pharext/Metadata.php
new file mode 100644 (file)
index 0000000..db3ab81
--- /dev/null
@@ -0,0 +1,26 @@
+<?php
+
+namespace pharext;
+
+class Metadata
+{
+       static function version() {
+               return "@dev-master";
+       }
+
+       static function header() {
+               return sprintf("pharext v%s (c) Michael Wallner <mike@php.net>", self::version());
+       }
+
+       static function date() {
+               return gmdate("Y-m-d");
+       }
+
+       static function all() {
+               return [
+                       "version" => self::version(),
+                       "header" => self::header(),
+                       "date" => self::date(),
+               ];
+       }
+}
index c08fce0946abed5ff2ce76bef09de3d32880d6ce..cd3b4d660fdd62e70bec8e3459946a41c684b34f 100644 (file)
@@ -243,11 +243,16 @@ class Packager implements Command
         */
        private function createPackage() {
                try {
-                       $meta = array_merge($this->metadata(), [
-                               "date" => date("Y-m-d"),
+                       if (($glob = glob($this->source->getBaseDir()."/LICENSE*"))) {
+                               $license = file_get_contents(current($glob));
+                       } else {
+                               $this->warn("Could not find any LICENSE.* files!\n");
+                               $license = "UNKNOWN\n";
+                       }
+                       $meta = array_merge(Metadata::all(), [
                                "name" => $this->args->name,
                                "release" => $this->args->release,
-                               "license" => @file_get_contents(current(glob($this->source->getBaseDir()."/LICENSE*"))),
+                               "license" => $license,
                                "stub" => "pharext_installer.php",
                                "type" => $this->args->zend ? "zend_extension" : "extension",
                        ]);
diff --git a/src/pharext/Version.php b/src/pharext/Version.php
deleted file mode 100644 (file)
index 50a2875..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-namespace pharext;
-
-const VERSION = "@PHAREXT_VERSION@";