I think the ComposerPackageModifier class is causing these warnings.
|mediawiki/core : master||Don't use the deprecated VersionConstraint class|
|mediawiki/core : master||Replace deprecated Composer\Package\LinkConstraint\VersionConstraint class|
|mediawiki/core : master||Stop supporting old versions of composer for ComposerPackageModifier|
|mediawiki/core : REL1_27||Stop supporting old versions of composer for ComposerPackageModifier|
|integration/composer : master||Update composer to 1.0.0-alpha11|
Updated composer here https://gerrit.wikimedia.org/r/#/c/267548/ previously done by legoktm then reverted by hashhar because it broke all the composer tests. But it is now fixed because it was using symfony/console 3.0+ whereas it should have been using symfony/console 2.8.2 since composer wasent updated for 3.0.
Change 267548 abandoned by Hashar:
Update composer to 1.0.0-alpha11
Krinkle / Paladox had a discussion on https://gerrit.wikimedia.org/r/259241 stating alpha11 is broken. We need a more recent version, lets track it on https://gerrit.wikimedia.org/r/#/c/270548/
On https://gerrit.wikimedia.org/r/285000 I wrote:
This code is a little different, it doesn't actually run in the context of MediaWiki or even use the vendor that MediaWiki depends upon - it is loaded into the composer process and executed using whatever version of semver or composer the user has. So having the right version in our vendor doesn't really make a difference. I'll post some more thoughts on the bug.
I've been thinking about composer b/c stuff since it came up for composer-merge-plugin, but for the MediaWiki 1.27 release I think we should just require composer 1.0.0, mostly because it's an actual stable version, and due to the security improvements that they've made (and that it would also let us fix this bug by not caring about old composer versions). Thoughts?
[Also tagging as a 1.27 blocker]
Requiring Composer ^1.0 seems like a reasonable solution to me. I've been thinking about making a similar requirements bump for composer-merge-plugin to allow removal of some back-compat code there as well.