Problem/Motivation

Hello project maintainers,

This is an automated issue to help make this module compatible with Drupal 10.

To read more about this effort by the Drupal Association, please read: The project update bot is being refreshed to support Drupal 10 readiness of contributed projects

Patches will periodically be added to this issue that remove Drupal 10 deprecated API uses. To stop further patches from being posted, change the status to anything other than Active, Needs review, Needs work or Reviewed and tested by the community. Alternatively, you can remove the "ProjectUpdateBotD10" tag from the issue to stop the bot from posting updates.

The patches will be posted by the Project Update Bot official user account. This account will not receive any issue credit contributions for itself or any company.

Proposed resolution

You have a few options for how to use this issue:

  1. Accept automated patches until this issue is closed

    If this issue is left open (status of Active, Needs review, Needs work or Reviewed and tested by the community) and the "ProjectUpdateBotD10" tag is left on this issue, new patches will be posted periodically if new deprecation fixes are needed.

    As the Drupal Rector project improves and is able to fix more deprecated API uses, the patches posted here will cover more of the deprecated API uses in the module.

    Patches and/or merge requests posted by others are ignored by the bot, and general human interactions in the issue do not stop the bot from posting updates, so feel free to use this issue to refine bot patches. The bot will still post new patches then if there is a change in the new generated patch compared to the patch that the bot posted last. Those changes are then up to humans to integrate.

  2. Leave open but stop new automated patches.

    If you want to use this issue as a starting point to remove deprecated API uses but then don't want new automated patches, remove the "ProjectUpdateBotD10" tag from the issue and use it like any other issue (the status does not matter then). If you want to receive automated patches again, add back the "ProjectUpdateBotD10" tag.

  3. Close it and don't use it

    If the maintainers of this project don't find this issue useful, they can close this issue (any status besides Active, Needs review, Needs work and Reviewed and tested by the community) and no more automated patches will be posted here.

    If the issue is reopened, then new automated patches will be posted.

    If you are using another issue(s) to work on Drupal 10 compatibility it would be very useful to other contributors to add those issues as "Related issues" when closing this issue.

Remaining tasks

Using the patches

  1. Apply the latest patch in the comments by Project Update Bot or human contributors that made it better.
  2. Thoroughly test the patch. These patches are automatically generated so they haven't been tested manually or automatically.
  3. Provide feedback about how the testing went. If you can improve the patch, post an updated patch here.

Providing feedback

If there are problems with one of the patches posted by the Project Update Bot, such as it does not correctly replace a deprecation, you can file an issue in the Drupal Rector issue queue. For other issues with the bot, for instance if the issue summary created by the bot is unclear, use the Project analysis issue queue.

Comments

Project Update Bot created an issue. See original summary.

project update bot’s picture

Status: Active » Needs review
StatusFileSize
new3.15 KB

This is an automated patch generated by Drupal Rector. Please see the issue summary for more details.

It is important that any automated tests available are run with this patch and that you manually test this patch.

Drupal 10 Compatibility

According to the Upgrade Status module this patch makes this module compatible with Drupal 10! 🎉
This patch updates the info.yml file for Drupal 10 compatibility.

Leaving this issue open, even after committing the current patch, will allow the Project Update Bot to post additional Drupal 10 compatibility fixes as they become available in Drupal Rector.

Debug info

Bot run #127

This patch was created using these packages:

  1. mglaman/phpstan-drupal: 1.1.9
  2. palantirnet/drupal-rector: 0.12.0
project update bot’s picture

This is an automated patch generated by Drupal Rector. Please see the issue summary for more details.

It is important that any automated tests available are run with this patch and that you manually test this patch.

Drupal 10 Compatibility

According to the Upgrade Status module this patch makes this module compatible with Drupal 10! 🎉
This patch updates the info.yml file for Drupal 10 compatibility.

Leaving this issue open, even after committing the current patch, will allow the Project Update Bot to post additional Drupal 10 compatibility fixes as they become available in Drupal Rector.

Debug info

Bot run #139

This patch was created using these packages:

  1. mglaman/phpstan-drupal: 1.1.24
  2. palantirnet/drupal-rector: 0.13.0
project update bot’s picture

This is an automated patch generated by Drupal Rector. Please see the issue summary for more details.

It is important that any automated tests available are run with this patch and that you manually test this patch.

Drupal 10 Compatibility

According to the Upgrade Status module this patch makes this module compatible with Drupal 10! 🎉
This patch updates the info.yml file for Drupal 10 compatibility.

Leaving this issue open, even after committing the current patch, will allow the Project Update Bot to post additional Drupal 10 compatibility fixes as they become available in Drupal Rector.

Debug info

Bot run #145

This patch was created using these packages:

  1. mglaman/phpstan-drupal: 1.1.25
  2. palantirnet/drupal-rector: 0.13.1

  • pfrenssen committed e614998 on 8.x-1.x
    Issue #3286406 by Project Update Bot: Automated Drupal 10 compatibility...
pfrenssen’s picture

Issue summary: View changes

Thanks bot! Committed the patch but kept use statements alphabetically sorted. Keeping open for possible future fixes as requested.

Aamir M’s picture

Assigned: Unassigned » Aamir M
Aamir M’s picture

Assigned: Aamir M » Unassigned
StatusFileSize
new70.33 KB
new106.16 KB

The module is compatible even before applying the patch with Drupal 10.0.x and 10.1.x.
The module can be installed properly

But I found 4 errors in the code while checking deprecated code

Screenshots are attached for reference:
Can be moved to RTBC
RTBC+1

project update bot’s picture

Issue summary: View changes
pfrenssen’s picture

Issue summary: View changes

@Aamir M, thanks for checking the code! Could you make a separate ticket for this since it doesn't seem to be related to Drupal 10 compatibility. Also if possible please include how we can replicate these checks - the tools and commands that you used. We can then update our test suite to automatically run these checks in the future.

mmjvb’s picture

docker@d946:/var/www$ composer show -s|grep check
mglaman/drupal-check ^1.4
docker@d946:/var/www$ composer require drupal/cached_computed_field 1.x-dev@dev
./composer.json has been updated
Running composer update drupal/cached_computed_field
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
  - Locking drupal/cached_computed_field (dev-1.x e614998)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Syncing drupal/cached_computed_field (dev-1.x e614998) into cache
  - Installing drupal/cached_computed_field (dev-1.x e614998): Cloning e614998089 from cache
Package doctrine/reflection is abandoned, you should avoid using it. Use roave/better-reflection instead.
Package symfony/debug is abandoned, you should avoid using it. Use symfony/error-handler instead.
Package webmozart/path-util is abandoned, you should avoid using it. Use symfony/filesystem instead.
Generating autoload files
98 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
docker@d946:/var/www$ composer show drupal/cached_computed_field
name     : drupal/cached_computed_field
descrip. : A field that allows to cache computationally expensive computed data in field storage.
keywords : Drupal
versions : * 1.x-dev, * dev-1.x
type     : drupal-module
license  : GNU General Public License v2.0 or later (GPL-2.0+) (OSI approved) https://spdx.org/licenses/GPL-2.0+.html#licenseText
homepage : https://www.drupal.org/project/cached_computed_field
source   : [git] https://git.drupalcode.org/project/cached_computed_field.git e614998089f21220976c0e3c0fdf5be09e2558db
dist     : []
path     : /var/www/web/modules/contrib/cached_computed_field
names    : drupal/cached_computed_field

support
source : http://cgit.drupalcode.org/cached_computed_field
issues : https://www.drupal.org/project/issues/cached_computed_field

requires
drupal/core ^8.9 || ^9.1 || ^10
docker@d946:/var/www$ cd /var/www/web/modules/contrib/cached_computed_field
docker@d946:/var/www/web/modules/contrib/cached_computed_field$ !drupal
drupal-check -d . 2>/dev/null
 ------ ---------------------------------------------------------------------------------------
  Line   src/CachedComputedFieldManager.php
 ------ ---------------------------------------------------------------------------------------
  120    Method Symfony\Contracts\EventDispatcher\EventDispatcherInterface::dispatch() invoked
         with 2 parameters, 1 required.
 ------ ---------------------------------------------------------------------------------------

 ------ ------------------------------------------------------------------------------------
  Line   src/EventSubscriber/RefreshExpiredFieldsSubscriberBase.php
 ------ ------------------------------------------------------------------------------------
  96     Access to an undefined property Drupal\Core\Field\FieldItemListInterface::$expire.
 ------ ------------------------------------------------------------------------------------

 ------ ------------------------------------------------------------------------------------
  Line   src/ExpiredItemCollection.php
 ------ ------------------------------------------------------------------------------------
  50     Return type mixed of method
         Drupal\cached_computed_field\ExpiredItemCollection::getIterator() is not covariant
         with tentative return type Traversable of method IteratorAggregate::getIterator().
         💡 Make it covariant, or use the #[\ReturnTypeWillChange] attribute to temporarily
         suppress the error.
  57     Return type mixed of method
         Drupal\cached_computed_field\ExpiredItemCollection::count() is not covariant with
         tentative return type int of method Countable::count().
         💡 Make it covariant, or use the #[\ReturnTypeWillChange] attribute to temporarily
         suppress the error.
 ------ ------------------------------------------------------------------------------------

 ------ ------------------------------------------------------------
  Line   tests/src/Kernel/BatchProcessingTest.php
 ------ ------------------------------------------------------------
  138    Access to an undefined property
         Drupal\Core\Entity\EntityInterface::$cached_field_integer.
 ------ ------------------------------------------------------------

 ------ ------------------------------------------------------------
  Line   tests/src/Kernel/SlowQueueProcessingTest.php
 ------ ------------------------------------------------------------
  69     Access to an undefined property
         Drupal\Core\Entity\EntityInterface::$cached_field_integer.
 ------ ------------------------------------------------------------

 [ERROR] Found 6 errors

docker@d946:/var/www/web/modules/contrib/cached_computed_field$
mmjvb’s picture

docker@d946:/var/www$ drush en cached_computed_field
>  [warning] No configuration objects have been updated.
>  [notice] Message: No configuration objects have been updated.
>
 [success] Successfully enabled: cached_computed_field
docker@d946:/var/www$ drush us-a cached_computed_field
 [notice] Processing /var/www/web/modules/contrib/cached_computed_field.

================================================================================
Cached Computed Field, --
Scanned on Wed, 10/19/2022 - 11:03

No known issues found.

docker@d946:/var/www$
pfrenssen’s picture

@mmjvb, thanks for providing these static analysis logs, but this does not seem to be related to Drupal 10 compatibility so it is not in scope for this issue. Could you please open a separate issue? Thank you.

mmjvb’s picture

@pfrenssen Sounds like you misunderstood. They are the answer to your question. Agree with it being out of scope, will leave it to @Aamir M to file separate issue.

pfrenssen’s picture

Status: Needs review » Fixed

I think this can be closed, we have a D10 compatible release already.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.