Seb35 has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/380317 )
Change subject: Always check Composer extensions independantly of
ExtensionRegistration
......................................................................
Always check Composer extensions independantly of ExtensionRegistration
Sometimes, when MediaWikiFarm is in monoversion mode, ExtensionRegistry
is known, and we should check if some extension should be loaded with
Composer; it was no more the case since ca185e0.
Also, the function MediaWikiFarmConfiguration::detectLoadingMechanism
no more tries to detect Composer extension given the case is handled
in an other way.
Change-Id: I6b1379826f698861d66016c836b3d867d2d85fec
---
M src/MediaWikiFarmConfiguration.php
M tests/phpunit/ConfigurationTest.php
M tests/phpunit/LoadingTest.php
3 files changed, 17 insertions(+), 30 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MediaWikiFarm
refs/changes/17/380317/1
diff --git a/src/MediaWikiFarmConfiguration.php
b/src/MediaWikiFarmConfiguration.php
index 62d7eb6..a9d92f3 100644
--- a/src/MediaWikiFarmConfiguration.php
+++ b/src/MediaWikiFarmConfiguration.php
@@ -430,16 +430,13 @@
unset( $this->configuration['extensions'][$key]
);
# Mechanism Composer wanted
- } elseif( $value === 'composer' &&
$this->detectComposer( $type, $name ) ) {
+ } elseif( ( $value === 'composer' || $value === true )
&& $this->detectComposer( $type, $name ) ) {
$status = 'composer';
$value = true;
- # MediaWiki still not loaded: we must wait before
taking a decision except for Composer loading
+ # MediaWiki still not loaded: we must wait before
taking a decision
} elseif( $ExtensionRegistry === null ) {
- if( $this->detectComposer( $type, $name ) ) {
- $status = 'composer';
- $value = true;
- }
+ # nop
# Mechanism require_once wanted
} elseif( $value === 'require_once' &&
$this->detectLoadingMechanism( $type, $name, true ) == $value ) {
@@ -529,10 +526,10 @@
*
* @param string $type Type, in ['extension', 'skin'].
* @param string $name Name of the extension/skin.
- * @param string $preferedRO Prefered require_once mechanism.
- * @return string|null Loading mechnism in ['wfLoadExtension',
'wfLoadSkin', 'require_once', 'composer'] or null if all mechanisms failed.
+ * @param bool $preferedRO Prefered require_once mechanism.
+ * @return string|null Loading mechnism in ['wfLoadExtension',
'wfLoadSkin', 'require_once'] or null if all mechanisms failed.
*/
- function detectLoadingMechanism( $type, $name, $preferedRO = null ) {
+ function detectLoadingMechanism( $type, $name, $preferedRO = false ) {
# Search base directory
$base = $this->farm->getVariable( '$CODE' ) . '/' . $type . 's';
@@ -555,11 +552,6 @@
# An extension.json/skin.json file is in the directory ->
assume it is the loading mechanism
if( $this->environment['ExtensionRegistry'] && is_file( $base .
'/' . $name . '/' . $type . '.json' ) ) {
return 'wfLoad' . ucfirst( $type );
- }
-
- # A composer.json file is in the directory and the extension is
properly autoloaded by Composer
- elseif( $this->detectComposer( $type, $name ) ) {
- return 'composer';
}
# A MyExtension.php file is in the directory -> assume it is
the loading mechanism
diff --git a/tests/phpunit/ConfigurationTest.php
b/tests/phpunit/ConfigurationTest.php
index 67a10da..7ca59f1 100644
--- a/tests/phpunit/ConfigurationTest.php
+++ b/tests/phpunit/ConfigurationTest.php
@@ -276,11 +276,8 @@
* @uses MediaWikiFarmConfiguration::detectComposer
* @uses MediaWikiFarmConfiguration::setEnvironment
* @uses MediaWikiFarmConfiguration::getConfiguration
- * @uses MediaWikiFarmConfiguration::setComposer
- * @uses AbstractMediaWikiFarmScript::rmdirr
- * @uses MediaWikiFarmUtils::arrayMerge
- * @uses MediaWikiFarmUtils::isMediaWiki
- * @uses MediaWikiFarmUtils::readFile
+ * @uses AbstractMediaWikiFarmScript
+ * @uses MediaWikiFarmUtils
*/
function testLoadMediaWikiConfigMultiversion() {
@@ -346,7 +343,6 @@
* @uses MediaWikiFarm::readFile
* @uses MediaWikiFarmConfiguration::__construct
* @uses MediaWikiFarmConfiguration::getConfiguration
- * @uses MediaWikiFarmConfiguration::setComposer
* @uses MediaWikiFarmConfiguration::detectComposer
* @uses MediaWikiFarmConfiguration::setEnvironment
* @uses MediaWikiFarmConfiguration::sortExtensions
diff --git a/tests/phpunit/LoadingTest.php b/tests/phpunit/LoadingTest.php
index 6032b6d..6549363 100644
--- a/tests/phpunit/LoadingTest.php
+++ b/tests/phpunit/LoadingTest.php
@@ -137,13 +137,13 @@
),
),
'extensions' => array(
- 'ExtensionTestExtensionComposer2' => array(
'TestExtensionComposer2', 'extension', 'composer', 0 ),
- 'SkinTestSkinComposer' => array(
'TestSkinComposer', 'skin', 'composer', 1 ),
- 'SkinTestSkinRequireOnce' => array(
'TestSkinRequireOnce', 'skin', 'require_once', 2 ),
- 'ExtensionTestExtensionRequireOnce' => array(
'TestExtensionRequireOnce', 'extension', 'require_once', 3 ),
- 'SkinTestSkinWfLoadSkin' => array(
'TestSkinWfLoadSkin', 'skin', 'wfLoadSkin', 4 ),
- 'SkinTestSkinBiLoading' => array(
'TestSkinBiLoading', 'skin', 'wfLoadSkin', 5 ),
- 'ExtensionTestExtensionComposer' => array(
'TestExtensionComposer', 'extension', 'wfLoadExtension', 6 ),
+ 'ExtensionTestExtensionComposer' => array(
'TestExtensionComposer', 'extension', 'composer', 0 ),
+ 'ExtensionTestExtensionComposer2' => array(
'TestExtensionComposer2', 'extension', 'composer', 1 ),
+ 'SkinTestSkinComposer' => array(
'TestSkinComposer', 'skin', 'composer', 2 ),
+ 'SkinTestSkinRequireOnce' => array(
'TestSkinRequireOnce', 'skin', 'require_once', 3 ),
+ 'ExtensionTestExtensionRequireOnce' => array(
'TestExtensionRequireOnce', 'extension', 'require_once', 4 ),
+ 'SkinTestSkinWfLoadSkin' => array(
'TestSkinWfLoadSkin', 'skin', 'wfLoadSkin', 5 ),
+ 'SkinTestSkinBiLoading' => array(
'TestSkinBiLoading', 'skin', 'wfLoadSkin', 6 ),
'ExtensionMediaWikiFarm' => array(
'MediaWikiFarm', 'extension', 'wfLoadExtension', 7 ),
'ExtensionTestExtensionWfLoadExtension' =>
array( 'TestExtensionWfLoadExtension', 'extension', 'wfLoadExtension', 8 ),
'ExtensionTestExtensionBiLoading' => array(
'TestExtensionBiLoading', 'extension', 'wfLoadExtension', 9 ),
@@ -219,9 +219,8 @@
* @uses MediaWikiFarmConfiguration::activateExtensions
* @uses MediaWikiFarmConfiguration::detectLoadingMechanism
* @uses MediaWikiFarmConfiguration::getConfiguration
- * @uses MediaWikiFarmUtils::arrayMerge
- * @uses MediaWikiFarmUtils::isMediaWiki
- * @uses MediaWikiFarmUtils::readFile
+ * @uses MediaWikiFarmConfiguration::detectComposer
+ * @uses MediaWikiFarmUtils
*/
function testRegistrationMediaWikiFarm() {
--
To view, visit https://gerrit.wikimedia.org/r/380317
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6b1379826f698861d66016c836b3d867d2d85fec
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MediaWikiFarm
Gerrit-Branch: master
Gerrit-Owner: Seb35 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits