Skip to content
This repository has been archived by the owner on May 25, 2020. It is now read-only.

Failure when running against a standard installed by dealerdirect/phpcodesniffer-composer-installer #1

Closed
morozov opened this issue Nov 20, 2017 · 0 comments

Comments

@morozov
Copy link
Member

morozov commented Nov 20, 2017

↪ pull-request.phar doctrine dbal 2825 --runtime-set installed_paths vendor/doctrine/coding-standard/lib/

Fatal error: Trait 'Doctrine\Sniffs\Spacing\EnsureSpaces' not found in /home/morozov/Projects/dbal/vendor/doctrine/coding-standard/lib/Doctrine/Sniffs/Spacing/SpaceOnReturnTypeSniff.php on line 29

Call Stack:
    0.0096     367192   1. {main}() /home/morozov/Projects/diff-sniffer/pull-request/bin/pull-request:0
    3.3596    1840432   2. DiffSniffer\Application->run(???, ???) /home/morozov/Projects/diff-sniffer/pull-request/bin/pull-request:25
    3.3671    2120488   3. DiffSniffer\Runner->run(???) /home/morozov/Projects/diff-sniffer/pull-request/vendor/morozov/diff-sniffer-core/src/Application.php:55
    3.7439    2833432   4. PHP_CodeSniffer\Runner->init() /home/morozov/Projects/diff-sniffer/pull-request/vendor/morozov/diff-sniffer-core/src/Runner.php:39
    3.7479    3088480   5. PHP_CodeSniffer\Ruleset->__construct(???) /home/morozov/Projects/diff-sniffer/pull-request/vendor/squizlabs/php_codesniffer/src/Runner.php:273
    8.6608    3120488   6. PHP_CodeSniffer\Ruleset->registerSniffs(???, ???, ???) /home/morozov/Projects/diff-sniffer/pull-request/vendor/squizlabs/php_codesniffer/src/Ruleset.php:200
    8.6608    3120488   7. PHP_CodeSniffer\Autoload::loadFile(???) /home/morozov/Projects/diff-sniffer/pull-request/vendor/squizlabs/php_codesniffer/src/Ruleset.php:1062
    8.6612    3142232   8. include('/home/morozov/Projects/dbal/vendor/doctrine/coding-standard/lib/Doctrine/Sniffs/Spacing/SpaceOnReturnTypeSniff.php') /home/morozov/Projects/diff-sniffer/pull-request/vendor/squizlabs/php_codesniffer/autoload.php:156

When the standard is installed as a Composer package, its classes are loaded by means of the Composer's autoloader. Otherwise, PHP_CodeSniffer is supposed to take care of them.

Prior to fixing squizlabs/PHP_CodeSniffer/issues/1591, the standard's classes were only autoloaded if the standard was specified as a path (like vendor/doctrine/coding-standard/lib/Doctrine). After fixing it, the standards from installed_paths are also autoloadable.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant