From: Antoine Musso Date: Tue, 13 Mar 2018 09:16:15 +0000 (+0100) Subject: Let install.php detect and inject extensions X-Git-Tag: 1.31.0-rc.0~387^2 X-Git-Url: http://git.heureux-cyclage.org/?a=commitdiff_plain;h=53926d9d6940eaa7f40086c9cf89af7bc726e73f;p=lhc%2Fweb%2Fwiklou.git Let install.php detect and inject extensions For CI, I went with a dirty trick to find extensions and either wfLoadExtension() or include them. That has since been ported to Installer::findExtensions() and LocalSettingsGenerator::getText(). The WebInstaller() relies on that to detect extensions and let the user tick the ones to be installed. Add --with-extensions to install.php so one can include all extensions from the command line. Note: The CliInstaller always wfLoad() any skin it can find. Bug: T189567 Change-Id: Ic8aa6bea4e7294e54fd5b71df267c9e934f78fce --- diff --git a/RELEASE-NOTES-1.31 b/RELEASE-NOTES-1.31 index 7b2ece99b5..9ecfb3e68e 100644 --- a/RELEASE-NOTES-1.31 +++ b/RELEASE-NOTES-1.31 @@ -66,6 +66,8 @@ production. the SQL query. The ActorMigration class may also be used to get feature-flagged information needed to access actor-related fields during the migration period. +* The CLI installer (maintenance/install.php) learned to detect and include + extensions. Pass --with-extensions to enable that feature. === External library changes in 1.31 === diff --git a/includes/installer/CliInstaller.php b/includes/installer/CliInstaller.php index 32d2634959..d5f0c6713c 100644 --- a/includes/installer/CliInstaller.php +++ b/includes/installer/CliInstaller.php @@ -107,6 +107,11 @@ class CliInstaller extends Installer { $this->setVar( '_AdminPassword', $option['pass'] ); } + // Detect and inject any extension found + if ( isset( $options['with-extensions'] ) ) { + $this->setVar( '_Extensions', array_keys( $installer->findExtensions() ) ); + } + // Set up the default skins $skins = array_keys( $this->findExtensions( 'skins' ) ); $this->setVar( '_Skins', $skins ); diff --git a/maintenance/install.php b/maintenance/install.php index 624909452a..438e9dc478 100644 --- a/maintenance/install.php +++ b/maintenance/install.php @@ -88,6 +88,8 @@ class CommandLineInstaller extends Maintenance { false, true ); */ $this->addOption( 'env-checks', "Run environment checks only, don't change anything" ); + + $this->addOption( 'with-extensions', "Detect and include extensions" ); } public function getDbType() {