You are here

protected function FeaturesManager::getDependencyString in Features 8.3

Same name and namespace in other branches
  1. 8.4 src/FeaturesManager.php \Drupal\features\FeaturesManager::getDependencyString()

Convert a Dependency object back to a string value.

Parameters

\Drupal\Core\Extension\Dependency $dependency: The dependency to convert.

Return value

string The normalized "project:name (constraint)" string.

1 call to FeaturesManager::getDependencyString()
FeaturesManager::mergeInfoArray in src/FeaturesManager.php
Merges two info arrays and processes the resulting array.

File

src/FeaturesManager.php, line 927

Class

FeaturesManager
The FeaturesManager provides helper functions for building packages.

Namespace

Drupal\features

Code

protected function getDependencyString(Dependency $dependency) {
  $dependency_name = $dependency
    ->getName();
  $project = $dependency
    ->getProject();
  if (empty($project)) {
    $path = $this->moduleExtensionList
      ->getPath($dependency_name);

    // Handle project for core modules.
    $project = strpos($path, 'core/modules') === 0 ? 'drupal' : $dependency_name;

    // Override with project key for contrib or custom modules.
    $info = $this->moduleExtensionList
      ->getExtensionInfo($dependency_name);
    $project = isset($info['project']) ? $info['project'] : $project;
  }
  $new_dependency = $project . ':' . $dependency_name;
  if ($constraint_string = $dependency
    ->getConstraintString()) {
    $new_dependency = $new_dependency . ' (' . $constraint_string . ')';
  }
  return $new_dependency;
}