support for QA releases
[m6w6/travis-pecl] / php-version-url-dist.php
diff --git a/php-version-url-dist.php b/php-version-url-dist.php
new file mode 100755 (executable)
index 0000000..f44e178
--- /dev/null
@@ -0,0 +1,23 @@
+#!/usr/bin/env php
+<?php
+
+$versions = @json_decode(stream_get_contents(STDIN), 1);
+$mirror = getenv("PHP_MIRROR");
+
+$by_minor = array();
+# build the tree of latest versions per minor
+if (!empty($versions) && !isset($versions["error"])) {
+       foreach (array_keys((array) $versions) as $release) {
+               list($major, $minor, $patch) = explode(".", $release);
+               if (isset($by_minor["$major.$minor"])) {
+                       if (version_compare($release, $by_minor["$major.$minor"], "<")) {
+                               continue;
+                       }
+               }
+               $by_minor["$major.$minor"] = $release;
+       }
+}
+
+foreach ($by_minor as $v => $r) {
+       printf("%s\t%s\tcurl -sS %s%s | tar xj\n", $v, $r, $mirror, $versions[$r]["source"][0]["filename"]);
+}