diff --git a/core/includes/common.inc b/core/includes/common.inc index d37a8db79d..1dadee7eef 100644 --- a/core/includes/common.inc +++ b/core/includes/common.inc @@ -1214,12 +1214,14 @@ function debug($data, $label = NULL, $print_r = TRUE) { * NULL if compatible, otherwise the original dependency version string that * caused the incompatibility. * - * @see \Drupal\Core\Extension\VersionChecker::checkIncompatibility - * * @deprecated in Drupal 8.6.0 and will be removed before Drupal 9.0.0. Use * \Drupal\Core\Extension\ModuleHandler::checkIncompatibility() instead. + * + * @see \Drupal\Core\Extension\VersionChecker::checkIncompatibility + * @see https://www.drupal.org/node/2756875 */ function drupal_check_incompatibility($v, $current_version) { + @trigger_error(__FUNCTION__ . ' is deprecated. Use \Drupal\Core\Extension\ModuleHandler::checkIncompatibility() instead. https://www.drupal.org/node/2756875', E_USER_DEPRECATED); return VersionChecker::checkIncompatibility($v, $current_version); } diff --git a/core/lib/Drupal/Core/Extension/ModuleExtensionList.php b/core/lib/Drupal/Core/Extension/ModuleExtensionList.php index 01fcf59095..6b4e00740b 100644 --- a/core/lib/Drupal/Core/Extension/ModuleExtensionList.php +++ b/core/lib/Drupal/Core/Extension/ModuleExtensionList.php @@ -214,7 +214,7 @@ protected function getInstalledExtensionNames() { protected function ensureRequiredDependencies(Extension $module, array $modules = []) { if (!empty($module->info['required'])) { foreach ($module->info['dependencies'] as $dependency) { - $dependency_name = ModuleHandler::parseDependency($dependency)['name']; + $dependency_name = VersionChecker::parseDependency($dependency)['name']; if (!isset($modules[$dependency_name]->info['required'])) { $modules[$dependency_name]->info['required'] = TRUE; $modules[$dependency_name]->info['explanation'] = $this->t('Dependency of required module @module', ['@module' => $module->info['name']]); diff --git a/core/lib/Drupal/Core/Extension/ModuleHandler.php b/core/lib/Drupal/Core/Extension/ModuleHandler.php index 3097304bf1..56c8b5de1d 100644 --- a/core/lib/Drupal/Core/Extension/ModuleHandler.php +++ b/core/lib/Drupal/Core/Extension/ModuleHandler.php @@ -719,8 +719,11 @@ protected function verifyImplementations(&$implementations, $hook) { * * @deprecated in Drupal 8.6.0, will be removed before Drupal 9.0.0. * Use \Drupal\Core\Extension\VersionChecker::parseDependency() instead. + * + * @see https://www.drupal.org/node/2756875 */ public static function parseDependency($dependency) { + @trigger_error(__METHOD__ . ' is deprecated. Use \Drupal\Core\Extension\VersionChecker::parseDependency() instead. https://www.drupal.org/node/2756875', E_USER_DEPRECATED); return VersionChecker::parseDependency($dependency); } diff --git a/core/tests/Drupal/Tests/Core/Extension/DeprecatedModuleHandlerTest.php b/core/tests/Drupal/Tests/Core/Extension/DeprecatedModuleHandlerTest.php new file mode 100644 index 0000000000..82d9f82542 --- /dev/null +++ b/core/tests/Drupal/Tests/Core/Extension/DeprecatedModuleHandlerTest.php @@ -0,0 +1,51 @@ +assertEquals($expected, $version); + } + + /** + * Provider for testing dependency parsing. + */ + public function dependencyProvider() { + return [ + ['system', ['name' => 'system']], + ['taxonomy', ['name' => 'taxonomy']], + ['views', ['name' => 'views']], + ['views_ui(8.x-1.0)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.0)', 'versions' => [['op' => '=', 'version' => '1.0']]]], + // Not supported?. + // array('views_ui(8.x-1.1-beta)', array('name' => 'views_ui', 'original_version' => ' (8.x-1.1-beta)', 'versions' => array(array('op' => '=', 'version' => '1.1-beta')))), + ['views_ui(8.x-1.1-alpha12)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.1-alpha12)', 'versions' => [['op' => '=', 'version' => '1.1-alpha12']]]], + ['views_ui(8.x-1.1-beta8)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.1-beta8)', 'versions' => [['op' => '=', 'version' => '1.1-beta8']]]], + ['views_ui(8.x-1.1-rc11)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.1-rc11)', 'versions' => [['op' => '=', 'version' => '1.1-rc11']]]], + ['views_ui(8.x-1.12)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.12)', 'versions' => [['op' => '=', 'version' => '1.12']]]], + ['views_ui(8.x-1.x)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.x)', 'versions' => [['op' => '<', 'version' => '2.x'], ['op' => '>=', 'version' => '1.x']]]], + ['views_ui( <= 8.x-1.x)', ['name' => 'views_ui', 'original_version' => ' ( <= 8.x-1.x)', 'versions' => [['op' => '<=', 'version' => '2.x']]]], + ['views_ui(<= 8.x-1.x)', ['name' => 'views_ui', 'original_version' => ' (<= 8.x-1.x)', 'versions' => [['op' => '<=', 'version' => '2.x']]]], + ['views_ui( <=8.x-1.x)', ['name' => 'views_ui', 'original_version' => ' ( <=8.x-1.x)', 'versions' => [['op' => '<=', 'version' => '2.x']]]], + ['views_ui(>8.x-1.x)', ['name' => 'views_ui', 'original_version' => ' (>8.x-1.x)', 'versions' => [['op' => '>', 'version' => '2.x']]]], + ['drupal:views_ui(>8.x-1.x)', ['project' => 'drupal', 'name' => 'views_ui', 'original_version' => ' (>8.x-1.x)', 'versions' => [['op' => '>', 'version' => '2.x']]]], + ]; + } + +} diff --git a/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php b/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php index 4fda0022b7..66a0573090 100644 --- a/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php +++ b/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php @@ -495,39 +495,6 @@ public function testResetImplementations() { $module_handler->getImplementations('hook'); } - /** - * @dataProvider dependencyProvider - * @covers ::parseDependency - */ - public function testDependencyParsing($dependency, $expected) { - $version = ModuleHandler::parseDependency($dependency); - $this->assertEquals($expected, $version); - } - - /** - * Provider for testing dependency parsing. - */ - public function dependencyProvider() { - return [ - ['system', ['name' => 'system']], - ['taxonomy', ['name' => 'taxonomy']], - ['views', ['name' => 'views']], - ['views_ui(8.x-1.0)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.0)', 'versions' => [['op' => '=', 'version' => '1.0']]]], - // Not supported?. - // array('views_ui(8.x-1.1-beta)', array('name' => 'views_ui', 'original_version' => ' (8.x-1.1-beta)', 'versions' => array(array('op' => '=', 'version' => '1.1-beta')))), - ['views_ui(8.x-1.1-alpha12)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.1-alpha12)', 'versions' => [['op' => '=', 'version' => '1.1-alpha12']]]], - ['views_ui(8.x-1.1-beta8)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.1-beta8)', 'versions' => [['op' => '=', 'version' => '1.1-beta8']]]], - ['views_ui(8.x-1.1-rc11)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.1-rc11)', 'versions' => [['op' => '=', 'version' => '1.1-rc11']]]], - ['views_ui(8.x-1.12)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.12)', 'versions' => [['op' => '=', 'version' => '1.12']]]], - ['views_ui(8.x-1.x)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.x)', 'versions' => [['op' => '<', 'version' => '2.x'], ['op' => '>=', 'version' => '1.x']]]], - ['views_ui( <= 8.x-1.x)', ['name' => 'views_ui', 'original_version' => ' ( <= 8.x-1.x)', 'versions' => [['op' => '<=', 'version' => '2.x']]]], - ['views_ui(<= 8.x-1.x)', ['name' => 'views_ui', 'original_version' => ' (<= 8.x-1.x)', 'versions' => [['op' => '<=', 'version' => '2.x']]]], - ['views_ui( <=8.x-1.x)', ['name' => 'views_ui', 'original_version' => ' ( <=8.x-1.x)', 'versions' => [['op' => '<=', 'version' => '2.x']]]], - ['views_ui(>8.x-1.x)', ['name' => 'views_ui', 'original_version' => ' (>8.x-1.x)', 'versions' => [['op' => '>', 'version' => '2.x']]]], - ['drupal:views_ui(>8.x-1.x)', ['project' => 'drupal', 'name' => 'views_ui', 'original_version' => ' (>8.x-1.x)', 'versions' => [['op' => '>', 'version' => '2.x']]]], - ]; - } - /** * @covers ::getModuleDirectories */