travis php compat
[m6w6/pecl-ci] / php-version.php
1 #!/usr/bin/env php
2 <?php
3
4 $version = $argv[1];
5 $versions = @json_decode(stream_get_contents(STDIN), 1);
6
7 # check if we've got a distinct version
8 if (isset($versions[$version])) {
9 printf("%s\n", $version);
10 exit;
11 }
12
13 $by_minor = array();
14 # build the tree of latest versions per minor
15 foreach (array_keys((array) $versions) as $release) {
16 list($major, $minor, $patch) = explode(".", $release);
17 if (isset($by_minor["$major.$minor"])) {
18 if (version_compare($release, $by_minor["$major.$minor"], "<")) {
19 continue;
20 }
21 }
22 $by_minor["$major.$minor"] = $release;
23 }
24
25 # check latest release
26 if (isset($by_minor[$version])) {
27 printf("%s\n", $by_minor[$version]);
28 } else {
29 # failsafe
30 switch ($version) {
31 case "5.4":
32 print("5.4.43\n");
33 break;
34 case "5.5":
35 print("5.5.27\n");
36 break;
37 default:
38 print("5.6.11\n");
39 }
40 }