Project

General

Profile

Actions

Task #104799

closed

Let ExtensionScanner recognize implementations of deprecated/removed abstract/interface method definitions

Added by Garvin Hicking 3 months ago. Updated about 1 month ago.

Status:
Closed
Priority:
Should have
Category:
Install Tool
Target version:
-
Start date:
2024-09-03
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
13
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

The Extension Scanner of the EXT:install module allows to scan
custom extensions based on several static code analysis rules.

Most of these rules depend on analyzing code to see if deprecated
or removed methods are called, or if argument names change,
annotations/attributes get removed and so on.

This patch adds a MethodDefinitionMatcher matcher which
can analyze definitions that need to be migrated.

A good example for this is a change in Fluid ViewHelpers deprecating
the renderStatic method.

Because ViewHelpers themself do not execute a renderStatic
method, any custom ViewHelper implementing renderStatic
would not be revealed in the Extension Scanner before.

The Matcher receives a configuration like:

return [
 'TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper::renderStatic' 
   => [
        'restFiles' => [
          'Breaking-82162-GlobalErrorConstantsRemoved.rst',
      ],
   ],
];

and based on this, iterates every custom code to check if
any class inherits from this
TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper abstract,
and then checks for a given method name (here renderStatic).

These matches will be reported as strong matches.


Files

Actions #1

Updated by Gerrit Code Review 3 months ago

  • Status changed from New to Under Review

Patch set 1 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85853

Actions #3

Updated by Gerrit Code Review 3 months ago

Patch set 2 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85853

Actions #4

Updated by Gerrit Code Review 3 months ago

Patch set 3 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85853

Actions #5

Updated by Gerrit Code Review 3 months ago

Patch set 4 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85853

Actions #6

Updated by Gerrit Code Review 3 months ago

Patch set 5 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85853

Actions #7

Updated by Gerrit Code Review 3 months ago

Patch set 6 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85853

Actions #8

Updated by Gerrit Code Review 3 months ago

Patch set 7 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85853

Actions #9

Updated by Gerrit Code Review 3 months ago

Patch set 8 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85853

Actions #10

Updated by Gerrit Code Review 3 months ago

Patch set 9 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85853

Actions #11

Updated by Garvin Hicking 2 months ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
Actions #12

Updated by Benni Mack about 1 month ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF