Skip to content
Snippets Groups Projects
  1. Aug 18, 2017
  2. Aug 17, 2017
  3. Aug 16, 2017
  4. Aug 15, 2017
  5. Aug 14, 2017
  6. Aug 11, 2017
  7. Aug 09, 2017
  8. Aug 08, 2017
  9. Aug 07, 2017
  10. Aug 01, 2017
    • Christian Kuhn's avatar
      [FEATURE] Install tool: Extension scanner · 081ce36b
      Christian Kuhn authored
      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: default avatarTYPO3com <no-reply@typo3.com>
      Reviewed-by: default avatarJan Helke <typo3@helke.de>
      Tested-by: default avatarJan Helke <typo3@helke.de>
      Reviewed-by: default avatarWouter Wolters <typo3@wouterwolters.nl>
      Reviewed-by: default avatarFrank Naegler <frank.naegler@typo3.org>
      Tested-by: default avatarFrank Naegler <frank.naegler@typo3.org>
      Reviewed-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Tested-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      081ce36b