UpdateDataSubscriber.php

Namespace

Drupal\package_manager\EventSubscriber

File

core/modules/package_manager/src/EventSubscriber/UpdateDataSubscriber.php

View source
<?php

declare (strict_types=1);
namespace Drupal\package_manager\EventSubscriber;

use Drupal\package_manager\Event\PostApplyEvent;
use Drupal\update\UpdateManagerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

/**
 * Clears stale update data once staged changes have been applied.
 *
 * @internal
 *   This is an internal part of Package Manager and may be changed or removed
 *   at any time without warning. External code should not interact with this
 *   class.
 */
final class UpdateDataSubscriber implements EventSubscriberInterface {
    public function __construct(UpdateManagerInterface $updateManager) {
    }
    
    /**
     * Clears stale update data.
     *
     * This will always run after any stage directory changes are applied to the
     * active directory, since it's likely that core and/or multiple extensions
     * have been added, removed, or updated.
     */
    public function clearData() : void {
        $this->updateManager
            ->refreshUpdateData();
        update_storage_clear();
    }
    
    /**
     * {@inheritdoc}
     */
    public static function getSubscribedEvents() : array {
        return [
            PostApplyEvent::class => [
                'clearData',
                1000,
            ],
        ];
    }

}

Classes

Title Deprecated Summary
UpdateDataSubscriber Clears stale update data once staged changes have been applied.

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