add 7.0 as explicitely supported PHP version
[m6w6/travis-pecl] / 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.45\n");
33 break;
34 case "5.5":
35 print("5.5.30\n");
36 break;
37 case "5.6":
38 print("5.6.16\n");
39 break;
40 case "7.0":
41 printf("7.0.0\n");
42 break;
43 case "master":
44 print("master\n");
45 break;
46 default:
47 printf("%s\n", $version);
48 }
49 }