mi-schi / phpmd-extension

Contains extra phpmd rules from clean code book and the best practices of my experiences.
MIT License
39 stars 7 forks source link

Support for php 8.1.28 #12

Open vasanth-kumar-m-y opened 4 months ago

vasanth-kumar-m-y commented 4 months ago

After upgrading to php 8.1.28 and symfony 6.4 the phpmd is failing with below error

PHP Fatal error:  Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in phar:///vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar/vendor/pdepend/pdepend/src/main/php/PDepend/Metrics/Analyzer/InheritanceAnalyzer.php:204
Stack trace:
#0 phar:///vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar/vendor/pdepend/pdepend/src/main/php/PDepend/Metrics/Analyzer/InheritanceAnalyzer.php(204): count()
#1 phar:///vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar/vendor/pdepend/pdepend/src/main/php/PDepend/Metrics/Analyzer/InheritanceAnalyzer.php(182): PDepend\Metrics\Analyzer\InheritanceAnalyzer->doAnalyze()
#2 phar:///vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar/vendor/pdepend/pdepend/src/main/php/PDepend/Engine.php(608): PDepend\Metrics\Analyzer\InheritanceAnalyzer->analyze()
#3 phar:///vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar/vendor/pdepend/pdepend/src/main/php/PDepend/Engine.php(331): PDepend\Engine->performAnalyzeProcess()
#4 phar:///vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar/vendor/phpmd/phpmd/src/main/php/PHPMD/Parser.php(123): PDepend\Engine->analyze()
#5 phar:///vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar/vendor/phpmd/phpmd/src/main/php/PHPMD/PHPMD.php(222): PHPMD\Parser->parse()
#6 phar:///vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar/vendor/phpmd/phpmd/src/main/php/PHPMD/TextUI/Command.php(129): PHPMD\PHPMD->processFiles()
#7 phar:///vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar/vendor/phpmd/phpmd/src/main/php/PHPMD/TextUI/Command.php(173): PHPMD\TextUI\Command->run()
#8 phar:///vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar/vendor/bin/phpmd(121): PHPMD\TextUI\Command::main()
#9 /vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar(10): require('...')
#10 {main}
  thrown in phar:///vagrant/vendor/tm/tooly-composer-script/bin/phpmd-extension.phar/vendor/pdepend/pdepend/src/main/php/PDepend/Metrics/Analyzer/InheritanceAnalyzer.php on line 204

In composer.json

"require-dev": {
       "phpmd/phpmd": "^2.15",
       "tm/tooly-composer-script": "^1.4",
},
"tools": {
            "phpmd-extension": {
                "url": "https://github.com/mi-schi/phpmd-extension/releases/download/stable/phpmd-extension.phar",
                "only-dev": true,
                "force-replace": false
            }
        }

PHPMD command /vagrant/bin/phpmd-extension.phar src text .phpmd.xml

@mi-schi could you please guide me here