function PackageManagerRequirementsHooks::runtime

Implements hook_runtime_requirements().

Attributes

#[Hook('runtime_requirements')]

File

core/modules/package_manager/src/Hook/PackageManagerRequirementsHooks.php, line 30

Class

PackageManagerRequirementsHooks
Requirements checks for Package Manager.

Namespace

Drupal\package_manager\Hook

Code

public function runtime() : array {
  $requirements = [];
  $requirements = $this->checkSettings($requirements);
  $requirements = $this->checkFailure($requirements);
  // Report the Composer version in use, as well as its path.
  $title = $this->t('Composer version');
  try {
    $requirements['package_manager_composer'] = [
      'title' => $title,
      'description' => $this->t('@version (<code>@path</code>)', [
        '@version' => $this->composerInspector
          ->getVersion(),
        '@path' => $this->executableFinder
          ->find('composer'),
      ]),
      'severity' => RequirementSeverity::Info,
    ];
  } catch (\Throwable $e) {
    // All Composer Stager exceptions are translatable.
    $message = $e instanceof ExceptionInterface ? $e->getTranslatableMessage() : $e->getMessage();
    $requirements['package_manager_composer'] = [
      'title' => $title,
      'description' => $this->t('Composer was not found. The error message was: @message', [
        '@message' => $message,
      ]),
      'severity' => RequirementSeverity::Error,
    ];
  }
  return $requirements;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.