diff --git a/core/includes/update.inc b/core/includes/update.inc index 2549249253f..ae13309396a 100644 --- a/core/includes/update.inc +++ b/core/includes/update.inc @@ -52,6 +52,7 @@ function update_check_requirements() { // Check requirements of all loaded modules. $requirements = \Drupal::moduleHandler()->invokeAll('requirements', ['update']); + \Drupal::moduleHandler()->alter('requirements', $requirements); $requirements += update_system_schema_requirements(); return $requirements; } diff --git a/core/modules/system/tests/modules/update_script_test/update_script_test.install b/core/modules/system/tests/modules/update_script_test/update_script_test.install index b49e7cf978d..e78a75de0d2 100644 --- a/core/modules/system/tests/modules/update_script_test/update_script_test.install +++ b/core/modules/system/tests/modules/update_script_test/update_script_test.install @@ -28,7 +28,7 @@ function update_script_test_requirements($phase) { $requirements['update_script_test'] = [ 'title' => 'Update script test', 'value' => 'Error', - 'description' => 'This is a requirements error provided by the update_script_test module.', + 'description' => 'This is a (buggy description fixed in update_script_test_requirements_alter()) requirements error provided by the update_script_test module.', 'severity' => REQUIREMENT_ERROR, ]; break; @@ -38,6 +38,15 @@ function update_script_test_requirements($phase) { return $requirements; } +/** + * Implements hook_requirements_alter(). + */ +function update_script_test_requirements_alter(array &$requirements): void { + if (isset($requirements['update_script_test']) && $requirements['update_script_test']['severity'] === REQUIREMENT_ERROR) { + $requirements['update_script_test']['description'] = 'This is a requirements error provided by the update_script_test module.'; + } +} + /** * Implements hook_update_last_removed(). */