Verified Commit 405f8b33 authored by Lauri Timmanee's avatar Lauri Timmanee
Browse files

Issue #3301573 by catch, ravi.shankar, mrinalini9, mherchel, lauriii,...

Issue #3301573 by catch, ravi.shankar, mrinalini9, mherchel, lauriii, alexpott, nod_, acbramley, nsciacca, kevinquillen, Chi: Remove the aggregate stale file threshold and state entry
parent ce9cd795
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1583,7 +1583,7 @@ services:
    arguments: [ '@state', '@file_url_generator' ]
  asset.css.collection_optimizer:
    class: Drupal\Core\Asset\CssCollectionOptimizerLazy
    arguments: [ '@asset.css.collection_grouper', '@asset.css.optimizer', '@theme.manager', '@library.dependency_resolver', '@request_stack', '@file_system', '@config.factory', '@file_url_generator', '@datetime.time', '@language_manager', '@state']
    arguments: [ '@asset.css.collection_grouper', '@asset.css.optimizer', '@theme.manager', '@library.dependency_resolver', '@request_stack', '@file_system', '@config.factory', '@file_url_generator', '@datetime.time', '@language_manager']
  asset.css.optimizer:
    class: Drupal\Core\Asset\CssOptimizer
    arguments: ['@file_url_generator']
@@ -1597,7 +1597,7 @@ services:
    arguments: [ '@state', '@file_url_generator' ]
  asset.js.collection_optimizer:
    class: Drupal\Core\Asset\JsCollectionOptimizerLazy
    arguments: [ '@asset.js.collection_grouper', '@asset.js.optimizer', '@theme.manager', '@library.dependency_resolver', '@request_stack', '@file_system', '@config.factory', '@file_url_generator', '@datetime.time', '@language_manager', '@state']
    arguments: [ '@asset.js.collection_grouper', '@asset.js.optimizer', '@theme.manager', '@library.dependency_resolver', '@request_stack', '@file_system', '@config.factory', '@file_url_generator', '@datetime.time', '@language_manager']
  asset.js.optimizer:
    class: Drupal\Core\Asset\JsOptimizer
  asset.js.collection_grouper:
+5 −0
Original line number Diff line number Diff line
@@ -25,6 +25,11 @@ public function optimize(array $assets, array $libraries);
   *
   * @return string[]
   *   URIs for all optimized asset collection assets.
   *
   * @deprecated in drupal:10.2.0 and is removed from drupal:11.0.0. There is
   *   no replacement.
   *
   * @see https://www.drupal.org/node/3301744
   */
  public function getAll();

+4 −20
Original line number Diff line number Diff line
@@ -8,7 +8,6 @@
use Drupal\Core\File\FileSystemInterface;
use Drupal\Core\File\FileUrlGeneratorInterface;
use Drupal\Core\Language\LanguageManagerInterface;
use Drupal\Core\State\StateInterface;
use Drupal\Core\Theme\ThemeManagerInterface;
use Symfony\Component\HttpFoundation\RequestStack;

@@ -42,8 +41,6 @@ class CssCollectionOptimizerLazy implements AssetCollectionGroupOptimizerInterfa
   *   The time service.
   * @param \Drupal\Core\Language\LanguageManagerInterface $languageManager
   *   The language manager.
   * @param \Drupal\Core\State\StateInterface $state
   *   The state key/value store.
   */
  public function __construct(
    protected readonly AssetCollectionGrouperInterface $grouper,
@@ -55,8 +52,7 @@ public function __construct(
    protected readonly ConfigFactoryInterface $configFactory,
    protected readonly FileUrlGeneratorInterface $fileUrlGenerator,
    protected readonly TimeInterface $time,
    protected readonly LanguageManagerInterface $languageManager,
    protected readonly StateInterface $state
    protected readonly LanguageManagerInterface $languageManager
  ) {}

  /**
@@ -135,27 +131,15 @@ public function optimize(array $css_assets, array $libraries) {
   * {@inheritdoc}
   */
  public function getAll() {
    return $this->state->get('drupal_css_cache_files', []);
    @trigger_error(__METHOD__ . ' is deprecated in drupal:10.2.0 and will be removed in drupal:11.0.0, there is no replacement. See https:// www.drupal.org/node/3301744', E_USER_DEPRECATED);
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function deleteAll() {
    $this->state->delete('drupal_css_cache_files');

    $delete_stale = function ($uri) {
      $threshold = $this->configFactory
        ->get('system.performance')
        ->get('stale_file_threshold');
      // Default stale file threshold is 30 days.
      if ($this->time->getRequestTime() - filemtime($uri) > $threshold) {
        $this->fileSystem->delete($uri);
      }
    };
    if (is_dir('assets://css')) {
      $this->fileSystem->scanDirectory('assets://css', '/.*/', ['callback' => $delete_stale]);
    }
    $this->fileSystem->deleteRecursive('assets://css');
  }

  /**
+4 −19
Original line number Diff line number Diff line
@@ -8,7 +8,6 @@
use Drupal\Core\File\FileSystemInterface;
use Drupal\Core\File\FileUrlGeneratorInterface;
use Drupal\Core\Language\LanguageManagerInterface;
use Drupal\Core\State\StateInterface;
use Drupal\Core\Theme\ThemeManagerInterface;
use Symfony\Component\HttpFoundation\RequestStack;

@@ -42,8 +41,6 @@ class JsCollectionOptimizerLazy implements AssetCollectionGroupOptimizerInterfac
   *   The time service.
   * @param \Drupal\Core\Language\LanguageManagerInterface $languageManager
   *   The language manager.
   * @param \Drupal\Core\State\StateInterface $state
   *   The state key/value store.
   */
  public function __construct(
    protected readonly AssetCollectionGrouperInterface $grouper,
@@ -55,8 +52,7 @@ public function __construct(
    protected readonly ConfigFactoryInterface $configFactory,
    protected readonly FileUrlGeneratorInterface $fileUrlGenerator,
    protected readonly TimeInterface $time,
    protected readonly LanguageManagerInterface $languageManager,
    protected readonly StateInterface $state
    protected readonly LanguageManagerInterface $languageManager
  ) {}

  /**
@@ -150,26 +146,15 @@ public function optimize(array $js_assets, array $libraries) {
   * {@inheritdoc}
   */
  public function getAll() {
    return $this->state->get('system.js_cache_files', []);
    @trigger_error(__METHOD__ . ' is deprecated in drupal:10.2.0 and will be removed in drupal:11.0.0, there is no replacement. See https:// www.drupal.org/node/3301744', E_USER_DEPRECATED);
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function deleteAll() {
    $this->state->delete('system.js_cache_files');
    $delete_stale = function ($uri) {
      $threshold = $this->configFactory
        ->get('system.performance')
        ->get('stale_file_threshold');
      // Default stale file threshold is 30 days.
      if ($this->time->getRequestTime() - filemtime($uri) > $threshold) {
        $this->fileSystem->delete($uri);
      }
    };
    if (is_dir('assets://js')) {
      $this->fileSystem->scanDirectory('assets://js', '/.*/', ['callback' => $delete_stale]);
    }
    $this->fileSystem->deleteRecursive('assets://js');
  }

  /**
+0 −1
Original line number Diff line number Diff line
@@ -12,4 +12,3 @@ fast_404:
js:
  preprocess: true
  gzip: true
stale_file_threshold: 2592000
Loading