2013-03-05 86 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