jenkins-bot has submitted this change and it was merged.

Change subject: Revert "Make it possible to install extensions using Composer"
......................................................................


Revert "Make it possible to install extensions using Composer"

This reverts commit d6e69d774.

MediaWiki extensions are by definition part of the MediaWiki software
ecosystem, and could therefore be managed using a specialized solution;
The same is not true of PHP packages at large: we're not in a position to
change how the PHP community at large manages dependencies. To the extent
that we have a choice, we should use interfaces like composer.json to
solve for the problem of integration with the outside world.

Change Ib125bea00 made the opposite choice, compromising our ability to
express how MediaWiki relates to external software components in exchange
for superficial gains in convenience of managing MediaWiki extensions.
(I consider the gains superficial because they do not leverage the fact
that extensions share MediaWiki's code -- a property that should be
exploited to provide an extension management solution that is
MediaWiki-aware, providing, for example, a uniform configuration
management interface.)

The cost of that change are manifest in bug 64597: we lost the ability to
express a dependency on PHPUnit in the way that the PHPUnit upstream
recommends.

The problem that change  Ib125bea00 set out to solve is that modifying
composer.json to express dependencies on extensions means having a local
diff that conflicts with the code in version control. This issue is
actually discussed by the Composer documentation. In short, Composer's
developers recommend that if your production environment uses a cvs to
version code, you should maintain your own clone of the upstream
repository and version your composer.json that way. More detailed
discussion of these issues can be found at
<https://getcomposer.org/doc/05-repositories.md#vcs> and
<https://getcomposer.org/doc/faqs/why-can't-composer-load-repositories-recursively.md>.
I also note that the Composer documentation makes many references
to monolog as an exemplary Composer project, and it too maintains a
composer.json in the repository root.

Change-Id: I3e7c668ee32401e731120cfa9f96986fd8fde8f4
---
D composer-example.json
A composer.json
2 files changed, 30 insertions(+), 20 deletions(-)

Approvals:
  Chad: Looks good to me, approved
  jenkins-bot: Verified
  Daniel Friesen: Looks good to me, but someone else must approve



diff --git a/composer-example.json b/composer-example.json
deleted file mode 100644
index 85304c1..0000000
--- a/composer-example.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-       "require": {
-               "php": ">=5.3.2"
-       },
-       "suggest": {
-               "ext-fileinfo": "More accurate file type detection for uploaded 
files",
-               "ext-mbstring": "Faster unicode handling",
-               "ext-wikidiff2": "Faster diff generation",
-               "ext-apc": "Speed up MediaWiki with opcode caching (before PHP 
5.5)"
-       },
-       "autoload": {
-               "psr-0": {
-                       "ComposerHookHandler": "includes/composer"
-               }
-       },
-       "scripts": {
-               "pre-update-cmd": "ComposerHookHandler::onPreUpdate",
-               "pre-install-cmd": "ComposerHookHandler::onPreInstall"
-       }
-}
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..ded3365
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,30 @@
+{
+       "name": "mediawiki/core",
+       "description": "Free software wiki application developed by the 
Wikimedia Foundation and others",
+       "keywords": ["mediawiki", "wiki"],
+       "homepage": "https://www.mediawiki.org/";,
+       "authors": [
+               {
+                       "name": "MediaWiki Community",
+                       "homepage": 
"https://www.mediawiki.org/wiki/Special:Version/Credits";
+               }
+       ],
+       "license": "GPL-2.0",
+       "support": {
+               "issues": "https://bugzilla.wikimedia.org/";,
+               "irc": "irc://irc.freenode.net/mediawiki",
+               "wiki": "https://www.mediawiki.org/";
+       },
+       "require": {
+               "php": ">=5.3.2"
+       },
+       "require-dev": {
+               "phpunit/phpunit": "*"
+       },
+       "suggest": {
+               "ext-fileinfo": "*",
+               "ext-mbstring": "*",
+               "ext-wikidiff2": "*",
+               "ext-apc": "*"
+       }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/132788
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I3e7c668ee32401e731120cfa9f96986fd8fde8f4
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Aaron Schulz <[email protected]>
Gerrit-Reviewer: BryanDavis <[email protected]>
Gerrit-Reviewer: Chad <[email protected]>
Gerrit-Reviewer: Daniel Friesen <[email protected]>
Gerrit-Reviewer: Jeroen De Dauw <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: MarkAHershberger <[email protected]>
Gerrit-Reviewer: Mwalker <[email protected]>
Gerrit-Reviewer: Nikerabbit <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
Gerrit-Reviewer: Parent5446 <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to