[MediaWiki-commits] [Gerrit] mediawiki/core[master]: registration: Generalize CoreVersionChecker to VersionChecker

2016-12-15 Thread jenkins-bot (Code Review)
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

2016-12-03 Thread Florianschmidtwelzow (Code Review)
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
+++