The following RfC may be of interest to subscribers on this list,
comments appreciated!
Thanks,
-- Legoktm
-------- Forwarded Message --------
Subject: [RfC] Improving extension dependency management and versioning
Date: Sun, 25 Jan 2015 16:04:30 -0800
From: Legoktm <legoktm.wikipedia(a)gmail.com>
To: wikitech-l(a)lists.wikimedia.org
Hi!
I've written up an RfC[1] discussing the pain points for managing
extensions and suggestions on how to improve it.
Comments and feedback appreciated!
[1]
https://www.mediawiki.org/wiki/Requests_for_comment/Improving_extension_man…
-- Legoktm
Hi,
In MediaWiki 1.25 we've changed the way we manage external dependencies
on PHP libraries. In the past the libraries would just be copied into
our git repo, but we're now using composer[1] to manage these dependencies.
We plan[2] on including these dependencies inside the tarball, they'll
all be located inside the "vendor" directory.
Currently the following dependencies have been added:
* leafo/lessphp[3]: a less compiler (formerly bundled inside MediaWiki)
* psr/log[4]: Common interfaces for logging
* cssjanus/cssjanus[5]: Flips CSS for RTL languages (formerly bundled
inside MediaWiki)
* wikimedia/cdb[6]: Provides CDB fallback in pure PHP (formerly part of
MediaWiki)
* oojs/oojs-ui[7]: Library of widgets, layouts, and windows
1.25 is still in development, so it's possible that the list of
dependencies will change over the next few months. The current set of
dependencies can be found in our composer.json file[8] and on-wiki[9].
MediaWiki expects that there will be an autoloader at
"vendor/autoload.php" which will load these libraries.
Please let me know if you have any questions, or if we can do anything
to help out making packaging easier.
Thanks,
-- Legoktm
[1] https://getcomposer.org/
[2] https://phabricator.wikimedia.org/T74726
[3] http://leafo.net/lessphp/
[4] http://www.php-fig.org/psr/psr-3/
[5] https://github.com/cssjanus/php-cssjanus
[6] https://www.mediawiki.org/wiki/CDB
[7] https://www.mediawiki.org/wiki/OOjs_UI
[8] https://github.com/wikimedia/mediawiki/blob/master/composer.json
[9] https://www.mediawiki.org/wiki/MediaWiki_1.25#External_libraries