function PackageManagerRequirementsHooks::runtime

Implements hook_runtime_requirements().

File

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

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' => REQUIREMENT_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' => REQUIREMENT_ERROR,
        ];
    }
    return $requirements;
}

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