Skip to content

[Bug] Trying to scan an excluded folder #463

Open
@stolentine

Description

@stolentine

Bug report

 php ./vendor/bin/phpmetrics --config=.phpmetrics.json      

Executing system analyzes...

Executing composer analyzes, requesting https://packagist.org...
Fatal error: Uncaught UnexpectedValueException: RecursiveDirectoryIterator::__construct(./docker/volumes/data-test): Failed to open directory: Permission denied in /var/www/vendor/phpmetrics/phpmetrics/src/Hal/Component/File/Finder.php:88
Stack trace:
#0 [internal function]: RecursiveDirectoryIterator->__construct('./docker/volume...', 0)
#1 [internal function]: RecursiveDirectoryIterator->getChildren()
#2 /var/www/vendor/phpmetrics/phpmetrics/src/Hal/Component/File/Finder.php(88): FilterIterator->next()
#3 /var/www/vendor/phpmetrics/phpmetrics/src/Hal/Metric/System/Packages/Composer/Composer.php(76): Hal\Component\File\Finder->fetch(Array)
#4 /var/www/vendor/phpmetrics/phpmetrics/src/Hal/Metric/System/Packages/Composer/Composer.php(39): Hal\Metric\System\Packages\Composer\Composer->getComposerJsonRequirements()
#5 /var/www/vendor/phpmetrics/phpmetrics/src/Hal/Application/Analyze.php(144): Hal\Metric\System\Packages\Composer\Composer->calculate(Object(Hal\Metric\Metrics))
#6 /var/www/vendor/phpmetrics/phpmetrics/src/Hal/Application/Application.php(57): Hal\Application\Analyze->run(Array)
#7 /var/www/vendor/phpmetrics/phpmetrics/bin/phpmetrics(27): Hal\Application\Application->run(Array)
#8 {main}
  thrown in /var/www/vendor/phpmetrics/phpmetrics/src/Hal/Component/File/Finder.php on line 88

My config

{
  "includes": [
    "app"
  ],
  "exclude": [
    "tests",
    "vendor",
    "docker"
  ],
  "report": {
    "html": "./tmp/php-metrics/report/",
    "csv": "./tmp/php-metrics/report.csv",
    "json": "./tmp/php-metrics/report.json",
    "violations": "./tmp/php-metrics/violations.xml"
  }
}

"docker" folder has access restrictions and added to config exclude. Despite this, the script tries to scan this folder.

If you run the script from another folder, for example from vendor, then there is no such problem. It looks like at startup there is a search for something without checking permission.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions