HomePhabricator

Make it possible to install extensions using Composer

Authored by JeroenDeDauw.

Description

Make it possible to install extensions using Composer

With this change it is possible for users to create a composer.json
file in which they list the extensions they want to have installed
and then install them via Composer. They can copy composer-example.json
to get started.

Before this change there was an actual composer.json file tracked by
git, so people would get a change tracked by git if they modified it.

Surprisingly this is all that is needed to get extension installation
to work, for the extensions that already support it. Kudos to hashar
and others that already did the other required work.

With this change core no longer pretends to be a component that is
installable via composer. This never worked, and core will need to
be modified in several ways before this can work. In other words,
no working functionality is lost, and quite a lot is gained.

Example usage:

  • Copy composer-example.json to composer.json.
  • Run "composer require diff/diff 0.9"
  • Hit Special:Version and be happy

Change-Id: Ib125bea00cd29a800c22f260e87dfe3327a0b618