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

Periodically patches will be added to this issue that remove Drupal 10 deprecated API uses. To stop further patches from being posted simply close this issue (any status besides Active, Needs review or Needs work) or remove the "ProjectUpdateBotD10" tag from the issue.

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 or Needs work) 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.

  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 don't want new automated patches simply leave this issue open but remove the "ProjectUpdateBotD10" tag from the issue.

    You can use Drupal Rector yourself to make these patches.

    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 or Needs work) 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 may be useful to other contributors to add those issues as "Related issues" when closing this issue.

Remaining tasks

Using the patches

  1. Apply the patch in the comment by Project Update Bot.
  2. Thoroughly test the patch. These patches are automatically generated so they haven't been tested manually or automatically.

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 Infrastructure project issue queue using the component “Bot: Drupal Rector”.

Comments

Project Update Bot created an issue. See original summary.

project update bot’s picture

Status: Active » Needs review
StatusFileSize
new5.78 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, even with this patch, this module is not yet compatible with Drupal 10.

Currently Drupal Rector, version 0.12.0, cannot fix all Drupal 10 compatibility problems.

This patch does not update 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
gábor hojtsy’s picture

Issue summary: View changes
StatusFileSize
new7.39 KB

Here is only the twig parts of the patch which could not be automated.

gábor hojtsy’s picture

StatusFileSize
new8.71 KB

Also including the fix for drupal_get_path() which seems to be the only thing left other than the tests.

gábor hojtsy’s picture

StatusFileSize
new14.59 KB

Merged with the rector patch. Added back the pass() equivalent for debugging.

gábor hojtsy’s picture

StatusFileSize
new15.01 KB

And finally update our info file. This should be testable on a composer path repo since we also have a composer.json already. Fingers crossed.

gábor hojtsy’s picture

StatusFileSize
new15.42 KB

That did not help test on Drupal 10. What if we also make a superfluous modification to the composer file?

gábor hojtsy’s picture

StatusFileSize
new15.83 KB

And assertEqual() should be assertEquals().

gábor hojtsy’s picture

StatusFileSize
new15.83 KB

Let's get better errors for the failing test.

gábor hojtsy’s picture

Title: Automated Drupal 10 compatibility fixes » Drupal 10 compatibility fixes
Status: Needs review » Needs work
Issue tags: -ProjectUpdateBotD10

I think we are well ahead that we don't need further bot patches here, but the remaining one fail needs to be resolved. For some reason we have one more error on the twig/config parsing job than expected.

gábor hojtsy’s picture

Issue tags: +Drupal 10 porting day
ravimane23’s picture

Assigned: Unassigned » ravimane23
ravimane23’s picture

StatusFileSize
new97.39 KB
new16.53 KB

I can see there is one module which is used for phpunittest.
Unit test issue

Submitted the patch for the same. Hope test will pass now.

gábor hojtsy’s picture

Title: Drupal 10 compatibility fixes » Drupal 10 compatibility fixes for potx

Yeah that is a specific test module I would not update, since that is meant to test Drupal 8/9 compatibility, not 10.

ravimane23’s picture

Assigned: ravimane23 » Unassigned
prudloff’s picture

StatusFileSize
new7.27 KB

In case anyone needs it, here is a patch that you can apply cleanly on 1.0.0-alpha1 if you need to use it on Drupal 10.
It does not patch tests, so only use it if you don't need to run tests.

watergate’s picture

Status: Needs work » Needs review
StatusFileSize
new8.84 KB

I've updated the patch of #16 to apply to the current dev version.

watergate’s picture

StatusFileSize
new9.54 KB

Since count() throws an exception when an invalid countable type is passed as a value (in PHP 8), I've updated the patch to ensure an empty array is provided when the variable is NULL: count($strings ?? []).

lendude’s picture

Added the patch from #18, extracted translations for the potx module through the UI, no issues found

Installed Drush 11, ran drush potx single (so extracted strings from all of core, that should hit most use cases I would think), seems to work great.

  • 2d48f5e5 committed on 8.x-1.x
    Issue #3285613 by Gábor Hojtsy, Watergate, ravimane23, Project Update...
gábor hojtsy’s picture

Status: Needs review » Fixed

Patch looks good on a visual review. Thanks for manually testing it. Committing and then we'll see automated test results :)

gábor hojtsy’s picture

@Lendude is working on followup tasks in #3347587: Make the test suite pass on Drupal10/PHP8.1.

Status: Fixed » Closed (fixed)

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