Feature #82014

Extension scanner

Added by Christian Kuhn about 2 years ago. Updated 12 months ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
Start date:
2017-07-31
Due date:
% Done:

100%

PHP Version:
Tags:
Complexity:
Sprint Focus:

Related issues

Related to TYPO3 Core - Epic #75690: Upgrade Analysis for the Install Tool Closed 2016-04-15
Related to TYPO3 Core - Bug #82632: Fix wrong matcher class name Closed 2017-10-02

Associated revisions

Revision 081ce36b (diff)
Added by Christian Kuhn about 2 years ago

[FEATURE] Install tool: Extension scanner

The patch adds a new feature - the "extension scanner" - to the
install tool. It is meant as a helper script for extension
and project developers to quickly spot places in extension code
that may need adaptions if upgrading to younger core versions.

The scanner could later work with different languages, for now
only scanning PHP files is supported. This is based on the great
library nikic/php-parser which creates an AST from php source files
and allows simple traversing.
A series of matchers hooks into the traverser and scans for
configured core deprecation or removals. Some additional matchers
could be added if a core example evolves (for instance usage of
dropped core constants).

From now on, whenever the core deprecates or breaks existing core
PHP API, an entry in one of the matcher configurations in
ext:install/Configuration/ExtensionScanner/Php should be done.
Since these API changes are documented via ReST files already, the
configuration links to according ReST files. A bamboo integrity
test script verifies those can be found.
Furthermore, all Breaking-* and Deprecation-* ReST files since
core version 9.x / master now need an additional Tag "FullyScanned",
"PartiallyScanned" or "NotScanned". This is also checked by an
integration test script in bamboo.

The matcher configuration files are pretty straight forward and
should be obvious if looking at
ext:install/Configuration/ExtensionScanner/Php.

This patch contains:
  • Add nikic/php-parser as dependency
  • New install tool gui to scan extensions in typo3conf/ext
  • Scanner infrastructure for PHP
  • Preparation and configuration for all current "master" / v9
    ReST files
  • Mark ReST files which are tagged with "FullyScanned" as "not affected"
    in install tool "Upgrade analysis" if no match was found
  • Integration script testing referenced ReST files are found
  • Integration script verifying Breaking- and Deprecation- ReST file
    contain "FullyScanned", "PartiallyScanned" or "NotSCanned" keyword.

More information on this feature can be found at
https://docs.typo3.org/typo3cms/CoreApiReference/ExtensionScanner/Index.html

Change-Id: I760e88f9d929fdd710655fa0d25cb26291a7ed2b
Resolves: #82014
Releases: master
Reviewed-on: https://review.typo3.org/53450
Tested-by: TYPO3com <>
Reviewed-by: Jan Helke <>
Tested-by: Jan Helke <>
Reviewed-by: Wouter Wolters <>
Reviewed-by: Frank Naegler <>
Tested-by: Frank Naegler <>
Reviewed-by: Anja Leichsenring <>
Tested-by: Anja Leichsenring <>
Reviewed-by: Christian Kuhn <>
Tested-by: Christian Kuhn <>

Revision ffa29c20 (diff)
Added by Benni Mack almost 2 years ago

[BUGFIX] Fix wrong matcher class name

Resolves: #82632
Related: #82014
Releases: master
Change-Id: I987bdda0bdc5bc91c1422b7558bc220f516e79ea
Reviewed-on: https://review.typo3.org/54257
Reviewed-by: Christian Kuhn <>
Tested-by: Christian Kuhn <>
Tested-by: TYPO3com <>

History

#1 Updated by Christian Kuhn about 2 years ago

  • Related to Epic #75690: Upgrade Analysis for the Install Tool added

#2 Updated by Gerrit Code Review about 2 years ago

  • Status changed from New to Under Review

Patch set 62 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/53450

#3 Updated by Gerrit Code Review about 2 years ago

Patch set 63 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/53450

#4 Updated by Gerrit Code Review about 2 years ago

Patch set 64 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/53450

#5 Updated by Gerrit Code Review about 2 years ago

Patch set 65 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/53450

#6 Updated by Gerrit Code Review about 2 years ago

Patch set 66 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/53450

#7 Updated by Gerrit Code Review about 2 years ago

Patch set 67 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/53450

#8 Updated by Christian Kuhn about 2 years ago

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

#9 Updated by Benni Mack almost 2 years ago

  • Related to Bug #82632: Fix wrong matcher class name added

#10 Updated by Benni Mack 12 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF