Page MenuHomePhabricator

Wikibase on Vagrant: composer-merge-plugin does not install wikibase/data-model anymore
Closed, ResolvedPublic

Description

Wikibase does not use extension registration (T88258) and it does not load the Composer autoloader (505e4860cc72) which breaks its usage on Vagrant (dependencies do not get autoloaded, resulting in a Class 'Wikibase\DataModel\Entity\ItemId' not found error). This was worked around in T201615 / 6254e72 by using composer-merge-plugin to make MediaWiki core install the Wikibase dependencies, but now it seems broken again (the same error is raised, and core's composer.lock / installed.json does not contain ẇikibase/data-model`).

Event Timeline

Core's composer.json has an extra/merge-plugin entry for composer.local.json which has one for ../settings.d/composer/*.json which includes a file created by the wikidata role which has a merge-plugin entry for extensions/Wikibase/composer.json. Maybe recursive merge declarations are broken somehow?

Actually it does get installed when I run Composer manually. So this is probably just an ordering issue, with composer update running before the merge-plugin fragment is added.

Change 525097 had a related patch set uploaded (by Gergő Tisza; owner: Gergő Tisza):
[mediawiki/vagrant@master] Fix Composer autoloading trick in wikidata role

https://gerrit.wikimedia.org/r/525097

Change 525097 had a related patch set uploaded (by Gergő Tisza; owner: Gergő Tisza):
[mediawiki/vagrant@master] Fix Composer autoloading trick in wikidata role

https://gerrit.wikimedia.org/r/525097

Change 525097 merged by jenkins-bot:
[mediawiki/vagrant@master] Fix Composer autoloading trick in wikidata role

https://gerrit.wikimedia.org/r/525097

Tgr claimed this task.