HomePhabricator

Update `update_compat_info.php` to use PHP_CompatInfo version 3

Description

Update update_compat_info.php to use PHP_CompatInfo version 3

Summary:
Fixes T5377. The current scripts/update_compat_info.php script works for PHP CompatInfo version 2, but doesn't work with the newer version 3.

There are a few breaking changes in version 3 that had to be addressed:

  • PHP 5.3 is required. Whilst Arcanist is generally compatible with PHP 5.2, I don't think that having this dependency presents any real issues because it is purely a development tool that is rarely updated.
  • Composer is used for packaging, which makes including the library slightly more complicated. Basically, I had to install PHP_CompatInfo globally with Composer (composer global require "bartlett/php-compatinfo" and then symlink ~/.composer/vendor into externals/includes.

Test Plan: Compared the resources/php_compat_info.json file. There are a bunch of functions/classes that were in this file but are no longer, but I think that I've covered the most popular extensions.

Reviewers: Blessed Reviewers, epriestley

Reviewed By: Blessed Reviewers, epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T5377

Differential Revision: https://secure.phabricator.com/D9568

Details

Event Timeline