Le 05/02/13 12:29, Nils Adermann wrote: <snip>
Composer is for the most part a library handling package metadata, package repository metadata, version matching, dependency resolution, downloading and unpacking packages as well as the processes that put all of these parts together in an extensible way.
<snip>
If this alone is not enough for MediaWiki, you can simply use Composer as a library saving you a lot of work when building a custom extension management tool.
Hello Nils,
I am in charge of continuous integration for the Wikimedia Foundation and I am convinced Composer would nicely solve some dependencies issues we have. MediaWiki can be extended via extensions which in turn can depends on another extension. Our Jenkins install does run Unit tests for extensions when available and Jenkins does need a way to properly fetch any extensions dependencies. So I have an interest in it :-)
I have played a bit with it back in September and wrote my musing at: https://www.mediawiki.org/wiki/Composer
Thanks to Jeroen De Dauw (maintainer of a gazillion of extensions) we have made a bit more progress yesterday when he proposed a composer.json for MediaWiki core. The change in our code review system is:
https://gerrit.wikimedia.org/r/#/c/47449/
We also have added composer.json to some extensions (Translate, TranslationNotifications, and EducationProgram)
The plan so far is to setup a Satis install on the continuous integration box to let our Jenkins job fetch extensions locally via Composer. It is not a huge priority though :-)
Note that composer/install has a very basic support for MediaWiki extensions:
https://github.com/composer/installers/pull/37
Would basically install a mediawiki/foo-bar package under /extensions/FooBar.
I'm happy to answer further questions, and you'll reach plenty of people with composer experience on #composer and #composer-dev on FreeNode, too.
My nick is "hashar" there. Will add #composer-dev to my autojoin list :)