我正在尝试Sonar,我在php项目中遇到了一些问题。
我必须做多模块,以获得至少php和js分析。
这是我的声纳项目。属性:
sonar.projectKey=xxxx sonar.projectName=xxxx sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.sources=
sonar.language=php
sonar.exclusions=htdocs/libraries/externals/**
sonar.phpCodesniffer.skip=true
sonar.modules=php-module,js-module
# PHP module
php-module.sonar.projectName=PHP Module
php-module.sonar.language=php
php-module.sonar.sources=
php-module.sonar.projectBaseDir=htdocs
php-module.sonar.exclusions=libraries/externals/**
# JavaScript module
js-module.sonar.projectName=JavaScript Module
js-module.sonar.language=js
js-module.sonar.sources=js
js-module.sonar.projectBaseDir=htdocs但是当我运行声纳跑步时,我会发现这样的错误:
Exception in thread "main" org.sonar.runner.RunnerException: org.sonar.api.utils.SonarException: PHPMD execution failed with returned code '1'. Please check the documentation of PHPMD to know more about this failure而PHPMD的错误是
The parser has reached an invalid state near line "32" in file "/var/www/vhosts/dev3.xxxx.local/htdocs/libraries/externals/AvaTax4PHP/classes/ATConfig.class.php". Please check the following conditions: The keyword "parent" was used as type hint but the class "ATConfig" does not declare a parent.,但如果我排除了项目中的dir库和模块,为什么会发生这种情况呢?
我是否必须向PHPMD指定另一个排除列表?
发布于 2013-05-19 19:13:48
对于PHPMD (例如,PHPMD),您必须指定一个单独的排除模式。为此,您可以使用PHPMD的--exclude参数。
我花了一段时间才弄清楚,但您可以在sonar-project.properties文件中设置以下设置来设置PHPMD的命令行参数:
sonar.phpPmd.argumentLine=--exclude libraries/externals发布于 2013-03-11 12:39:25
您可以参考这个常见问题条目来了解如何实现您的目标:http://docs.codehaus.org/display/SONAR/PHP+Plugin+FAQ#PHPPluginFAQ-HowdoIpreventexternaltoolsfromanalyzingsomesourcefiles
顺便说一句,你应该声明:
php-module.sonar.sources=.,而不是:
php-module.sonar.sources=https://stackoverflow.com/questions/15225688
复制相似问题