[MediaWiki-commits] [Gerrit] mediawiki/core[master]: registration: Generalize CoreVersionChecker to VersionChecker
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/325118 ) Change subject: registration: Generalize CoreVersionChecker to VersionChecker .. registration: Generalize CoreVersionChecker to VersionChecker This allows us to put other requirements more easily into extension registration, such as skins and/or extensions. Bug: T117277 Change-Id: I3ec1b28b6af380621585cd61b38e5ebb8be9f9c7 --- M autoload.php D includes/registration/CoreVersionChecker.php M includes/registration/ExtensionProcessor.php M includes/registration/ExtensionRegistry.php A includes/registration/VersionChecker.php R tests/phpunit/includes/registration/VersionCheckerTest.php 6 files changed, 148 insertions(+), 87 deletions(-) Approvals: Legoktm: Looks good to me, approved jenkins-bot: Verified diff --git a/autoload.php b/autoload.php index e079686..91f7700 100644 --- a/autoload.php +++ b/autoload.php @@ -293,7 +293,6 @@ 'CopyJobQueue' => __DIR__ . '/maintenance/copyJobQueue.php', 'CoreParserFunctions' => __DIR__ . '/includes/parser/CoreParserFunctions.php', 'CoreTagHooks' => __DIR__ . '/includes/parser/CoreTagHooks.php', - 'CoreVersionChecker' => __DIR__ . '/includes/registration/CoreVersionChecker.php', 'CreateAndPromote' => __DIR__ . '/maintenance/createAndPromote.php', 'CreateFileOp' => __DIR__ . '/includes/libs/filebackend/fileop/CreateFileOp.php', 'CreditsAction' => __DIR__ . '/includes/actions/CreditsAction.php', @@ -1523,6 +1522,7 @@ 'UzConverter' => __DIR__ . '/languages/classes/LanguageUz.php', 'VFormHTMLForm' => __DIR__ . '/includes/htmlform/VFormHTMLForm.php', 'ValidateRegistrationFile' => __DIR__ . '/maintenance/validateRegistrationFile.php', + 'VersionChecker' => __DIR__ . '/includes/registration/VersionChecker.php', 'ViewAction' => __DIR__ . '/includes/actions/ViewAction.php', 'VirtualRESTService' => __DIR__ . '/includes/libs/virtualrest/VirtualRESTService.php', 'VirtualRESTServiceClient' => __DIR__ . '/includes/libs/virtualrest/VirtualRESTServiceClient.php', diff --git a/includes/registration/CoreVersionChecker.php b/includes/registration/CoreVersionChecker.php deleted file mode 100644 index f64d826..000 --- a/includes/registration/CoreVersionChecker.php +++ /dev/null @@ -1,68 +0,0 @@ -http://www.gnu.org/copyleft/gpl.html - */ - -use Composer\Semver\VersionParser; -use Composer\Semver\Constraint\Constraint; - -/** - * @since 1.26 - */ -class CoreVersionChecker { - - /** -* @var Constraint|bool representing $wgVersion -*/ - private $coreVersion = false; - - /** -* @var VersionParser -*/ - private $versionParser; - - /** -* @param string $coreVersion Current version of core -*/ - public function __construct( $coreVersion ) { - $this->versionParser = new VersionParser(); - try { - $this->coreVersion = new Constraint( - '==', - $this->versionParser->normalize( $coreVersion ) - ); - } catch ( UnexpectedValueException $e ) { - // Non-parsable version, don't fatal. - } - } - - /** -* Check that the provided constraint is compatible with the current version of core -* -* @param string $constraint Something like ">= 1.26" -* @return bool -*/ - public function check( $constraint ) { - if ( $this->coreVersion === false ) { - // Couldn't parse the core version, so we can't check anything - return true; - } - - return $this->versionParser->parseConstraints( $constraint ) - ->matches( $this->coreVersion ); - } -} diff --git a/includes/registration/ExtensionProcessor.php b/includes/registration/ExtensionProcessor.php index d967132..1212f99 100644 --- a/includes/registration/ExtensionProcessor.php +++ b/includes/registration/ExtensionProcessor.php @@ -216,13 +216,7 @@ } public function getRequirements( array $info ) { - $requirements = []; - $key = ExtensionRegistry::MEDIAWIKI_CORE; - if ( isset( $info['requires'][$key] ) ) { - $requirements[$key] = $info['requires'][$key]; - } - - return $requirements; + return isset( $info['requires'] ) ? $info['requires'] : []; } protected function extractHooks( array $info ) { diff --git a/includes/registration/ExtensionRegistry.php b/includes/registration/ExtensionRegistry.php index 70dc624..0521f3b 100644 --- a/includes/registration/ExtensionRegistry.php +++
[MediaWiki-commits] [Gerrit] mediawiki/core[master]: registration: Generalize CoreVersionChecker to VersionChecker
Florianschmidtwelzow has uploaded a new change for review. https://gerrit.wikimedia.org/r/325118 Change subject: registration: Generalize CoreVersionChecker to VersionChecker .. registration: Generalize CoreVersionChecker to VersionChecker This allows us to put other requirements more easily into extension registration, such as skins and/or extensions. Change-Id: I3ec1b28b6af380621585cd61b38e5ebb8be9f9c7 --- M autoload.php D includes/registration/CoreVersionChecker.php M includes/registration/ExtensionProcessor.php M includes/registration/ExtensionRegistry.php A includes/registration/VersionChecker.php R tests/phpunit/includes/registration/VersionCheckerTest.php 6 files changed, 148 insertions(+), 87 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/18/325118/1 diff --git a/autoload.php b/autoload.php index a154555..49a77ca 100644 --- a/autoload.php +++ b/autoload.php @@ -292,7 +292,6 @@ 'CopyJobQueue' => __DIR__ . '/maintenance/copyJobQueue.php', 'CoreParserFunctions' => __DIR__ . '/includes/parser/CoreParserFunctions.php', 'CoreTagHooks' => __DIR__ . '/includes/parser/CoreTagHooks.php', - 'CoreVersionChecker' => __DIR__ . '/includes/registration/CoreVersionChecker.php', 'CreateAndPromote' => __DIR__ . '/maintenance/createAndPromote.php', 'CreateFileOp' => __DIR__ . '/includes/libs/filebackend/fileop/CreateFileOp.php', 'CreditsAction' => __DIR__ . '/includes/actions/CreditsAction.php', @@ -1521,6 +1520,7 @@ 'UzConverter' => __DIR__ . '/languages/classes/LanguageUz.php', 'VFormHTMLForm' => __DIR__ . '/includes/htmlform/VFormHTMLForm.php', 'ValidateRegistrationFile' => __DIR__ . '/maintenance/validateRegistrationFile.php', + 'VersionChecker' => __DIR__ . '/includes/registration/VersionChecker.php', 'ViewAction' => __DIR__ . '/includes/actions/ViewAction.php', 'VirtualRESTService' => __DIR__ . '/includes/libs/virtualrest/VirtualRESTService.php', 'VirtualRESTServiceClient' => __DIR__ . '/includes/libs/virtualrest/VirtualRESTServiceClient.php', diff --git a/includes/registration/CoreVersionChecker.php b/includes/registration/CoreVersionChecker.php deleted file mode 100644 index f64d826..000 --- a/includes/registration/CoreVersionChecker.php +++ /dev/null @@ -1,68 +0,0 @@ -http://www.gnu.org/copyleft/gpl.html - */ - -use Composer\Semver\VersionParser; -use Composer\Semver\Constraint\Constraint; - -/** - * @since 1.26 - */ -class CoreVersionChecker { - - /** -* @var Constraint|bool representing $wgVersion -*/ - private $coreVersion = false; - - /** -* @var VersionParser -*/ - private $versionParser; - - /** -* @param string $coreVersion Current version of core -*/ - public function __construct( $coreVersion ) { - $this->versionParser = new VersionParser(); - try { - $this->coreVersion = new Constraint( - '==', - $this->versionParser->normalize( $coreVersion ) - ); - } catch ( UnexpectedValueException $e ) { - // Non-parsable version, don't fatal. - } - } - - /** -* Check that the provided constraint is compatible with the current version of core -* -* @param string $constraint Something like ">= 1.26" -* @return bool -*/ - public function check( $constraint ) { - if ( $this->coreVersion === false ) { - // Couldn't parse the core version, so we can't check anything - return true; - } - - return $this->versionParser->parseConstraints( $constraint ) - ->matches( $this->coreVersion ); - } -} diff --git a/includes/registration/ExtensionProcessor.php b/includes/registration/ExtensionProcessor.php index 207f884..7d89366 100644 --- a/includes/registration/ExtensionProcessor.php +++ b/includes/registration/ExtensionProcessor.php @@ -215,13 +215,7 @@ } public function getRequirements( array $info ) { - $requirements = []; - $key = ExtensionRegistry::MEDIAWIKI_CORE; - if ( isset( $info['requires'][$key] ) ) { - $requirements[$key] = $info['requires'][$key]; - } - - return $requirements; + return isset( $info['requires'] ) ? $info['requires'] : []; } protected function extractHooks( array $info ) { diff --git a/includes/registration/ExtensionRegistry.php b/includes/registration/ExtensionRegistry.php index 0b67b17..20a0bc9 100644 --- a/includes/registration/ExtensionRegistry.php +++