mediawiki_arch/vendor
Pierre Schmitz 20d5e251c2 Update to MediaWiki 1.37.1 2021-12-19 15:08:59 +01:00
..
christian-riesen/base32 Update to MediaWiki 1.35.2 2021-04-23 17:17:01 +02:00
composer Update to MediaWiki 1.37.1 2021-12-19 15:08:59 +01:00
cssjanus/cssjanus Update to MediaWiki 1.37.1 2021-12-19 15:08:59 +01:00
guzzlehttp Update to MediaWiki 1.36.1 2021-07-15 08:33:23 +02:00
jakobo/hotp-php Update to MediaWiki 1.35.2 2021-04-23 17:17:01 +02:00
liuggio/statsd-php-client Remove everything that is not in the release version of MediaWiki 1.35.0 2020-11-14 17:26:20 +01:00
monolog/monolog Update to MediaWiki 1.36.1 2021-07-15 08:33:23 +02:00
oojs/oojs-ui Update to MediaWiki 1.37.1 2021-12-19 15:08:59 +01:00
pear Update to MediaWiki 1.36.3 2021-12-18 08:46:46 +01:00
pleonasm/bloom-filter Update to MediaWiki 1.33.0 2019-08-31 23:14:28 +02:00
psr Update to MediaWiki 1.37.1 2021-12-19 15:08:59 +01:00
ralouphie/getallheaders Update to MediaWiki 1.35.0 2020-11-14 17:26:20 +01:00
symfony/polyfill-php80 Update to MediaWiki 1.36.3 2021-12-18 08:46:46 +01:00
wikimedia Update to MediaWiki 1.37.1 2021-12-19 15:08:59 +01:00
zordius/lightncandy Update to MediaWiki 1.37.1 2021-12-19 15:08:59 +01:00
.htaccess Update mediawiki to v1.31.1 2018-09-23 11:40:41 +02:00
README.md Update to MediaWiki 1.37.1 2021-12-19 15:08:59 +01:00
autoload.php Update to MediaWiki 1.29.0 2017-08-14 08:06:57 +02:00
composer.json Update to MediaWiki 1.37.1 2021-12-19 15:08:59 +01:00
composer.lock Update to MediaWiki 1.37.1 2021-12-19 15:08:59 +01:00
wip-requires.sh Update to MediaWiki 1.35.0 2020-11-14 17:26:20 +01:00

README.md

MediaWiki-Vendor

Composer managed libraries required or recommended for use with MediaWiki. This repository is maintained for use on the Wikimedia Foundation production and testing clusters, but may be useful for anyone wishing to avoid directly managing MediaWiki dependencies with Composer.

Usage

Checkout this library into $IP/vendor using git clone <URL> or add the repository as a git submodule using git submodule add <URL> vendor followed by git submodule update --init.

Adding or updating libraries

  1. Read the documentation on the process for adding new libraries.
  2. Ensure you're using the latest version of 2.1.x of composer via composer --version. This keeps installed.json alpha-sorted, making patches less likely to conflict, and diffs easier to read.
  3. Edit the composer.json file to add/update the libraries you want to change. It is recommended that you use composer require <package> <version> --no-update to do so as composer will then automatically sort the composer.json file.
  4. Run composer update --no-dev to download files and update the autoloader.
  5. Add all the new dependencies that got installed to composer.json as well, so that everything has their version pinned. (You can look at the changes in composer.lock or composer/installed.json to see what they are.)
  6. In some cases, the libraries might include not needed files (e.g. test files, project files, etc). If you cannot exclude them from library's archive (e.g. by export-ignoreing unwanted files in library's .gitattributes file), you can skip checking them in by listing them in .gitignore file.
  7. Rarely, lint checks fail because test files in some library were written for an unsupported PHP version. In that case add the test directories to the --exclude parameter in the script > test field in composer.json, and to .gitignore.
  8. Add and commit changes as a gerrit patch.
  9. Review and merge changes.

Note that you MUST pair patches changing versions of libraries used by MediaWiki itself with ones for the "core" repo. Specifically, the patch in mediawiki/core must have a Depends-On footer to the patch in mediawiki/vendor.

The vendor repo has special configuration, which skips the integrity checks and so allowing a circular dependency Gordian knot to be fixed. However, this means that, if merged alone without a pair, you'll cause ALL patches in MediaWiki and ALL extensions to fail their continuous integration tests.

If in doubt, seek advice from regular commiters to this repository.