2013-03-05 84 views
2

我正在尝试声呐,我有一些问题与它的PHP项目。声呐和PHPMD:如何排除目录

我必须做到多模块来获取至少php和js分析。

这是我sonar-project.properties:

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. 

但是,为什么会发生这种情况,如果我已经排除项目和模块中的目录库?

我必须向PHPMD指定另一个排除列表吗?

回答

3

对于PHPMD (例如,就像PHP CodeSniffer一样),你将不得不指定一个单独的排除模式。你可以使用PHPMD的--exclude参数。

我花了一段时间来弄明白,但您可以设置以下设置的PHPMD的命令行参数在sonar-project.properties文件:

sonar.phpPmd.argumentLine=--exclude libraries/externals