You are here

function git_deploy_update_projects_alter in Git Deploy 8.2

Same name and namespace in other branches
  1. 7.2 git_deploy.module \git_deploy_update_projects_alter()
  2. 7 git_deploy.module \git_deploy_update_projects_alter()

Implements hook_update_projects_alter().

File

./git_deploy.module, line 250
Adds project, version and date information to projects checked out with Git.

Code

function git_deploy_update_projects_alter(&$projects) {

  // Get projects whose datestamps need to be synced with upstream releases.
  $update = drupal_static('git_deploy_system_info_alter:update', []);

  // Free up memory.
  drupal_static_reset('git_deploy_system_info_alter:projects');
  drupal_static_reset('git_deploy_system_info_alter:available');
  drupal_static_reset('git_deploy_system_info_alter:update');
  if (!empty($update)) {

    // Fetch updated release data.
    foreach ($update as $project_name) {
      \Drupal::service('update.processor')
        ->processFetchTask($projects[$project_name]);
    }
    $available = \Drupal::keyValueExpirable('update_available_releases')
      ->getAll();
    foreach ($update as $project_name) {
      $project =& $projects[$project_name];
      $version = $project['info']['version'];
      if (isset($available[$project_name]['releases'][$version])) {
        _git_deploy_datestamp_sync($project, $available[$project_name]['releases'][$version]);
      }
    }
  }
}