2014-12-23 73 views
3

我已经安装并生成了xml报告,我已经用grails项目CodeNarc Plugin。安装和以下配置和版本配置SonarQube:Sonar runner codenarc传感器忽略来自Codenarc的违规

的Grails 2.3.7
SonarQube服务器 - 4.5
SonarQube Runner- 2.4
CodeNarc Plugin- 0.22

Sonar-project.properties文件包含

#sonar-runner.properties  
sonar.projectKey=key  
sonar.projectName=Project Name  
sonar.projectVersion=1.0  
sonar.sources=src, grails-app/services, grails-app/controllers, grails-app/domain  
sonar.tests=test/  
sonar.language=grvy  
sonar.sourceEncoding=UTF-8  
sonar.groovy.codenarc.reportPath=target/codenarc/codeNarcXMLReport.xml  

生成CodeNarc XML报告并将其报告路径添加到文件中。 声纳亚军分析项目,但与零问题

声纳亚军无法索引资源并抛出CodeNarc规则违规警告。

SonarQube Runner 2.4 
Java 1.7.0_21 Oracle Corporation (64-bit) 
Linux 3.11.0-26-generic amd64 
INFO: Runner configuration file: /media/Others/softwares/sonar-runner-2.4/conf/sonar-runner.properties 
INFO: Project configuration file: /media/Others/repo/project/sonar-project.properties 
INFO: Default locale: "en_IN", source code encoding: "UTF-8" 
INFO: Work directory: /media/Others/repo/project/./.sonar 
INFO: SonarQube Server 4.5 
11:20:57.146 INFO - Load global referentials... 
11:20:57.356 INFO - Load global referentials done: 213 ms 
11:20:57.367 INFO - User cache: /home/.sonar/cache 
11:20:57.378 INFO - Install plugins 
11:20:57.680 INFO - Install JDBC driver 
11:20:57.688 INFO - Create JDBC datasource for jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8 
11:20:59.590 INFO - Initializing Hibernate 
11:21:01.310 INFO - Load project referentials... 
11:21:02.342 INFO - Load project referentials done: 1032 ms 
11:21:02.342 INFO - Load project settings 
11:21:03.193 INFO - Loading technical debt model... 
11:21:03.218 INFO - Loading technical debt model done: 25 ms 
11:21:03.222 INFO - Apply project exclusions 
11:21:03.598 INFO - ------------- Scan project 
11:21:03.603 INFO - Load module settings 
11:21:04.228 INFO - Language is forced to grvy 
11:21:04.230 INFO - Loading rules... 
11:21:05.224 INFO - Loading rules done: 994 ms 
11:21:05.260 INFO - Configure Maven plugins 
11:21:05.537 INFO - Compare to previous analysis (2014-12-23) 
11:21:05.557 INFO - Compare over 30 days (2014-11-23, analysis of 2014-11-10 17:20:47.0) 
11:21:05.578 INFO - Compare to previous version (2014-10-30) 
11:21:05.636 INFO - Loaded quality gate 'SonarQube way' 
11:21:05.817 INFO - Base dir: /media/Others/repo/project/. 
11:21:05.817 INFO - Working dir: /media/Others/repo/project/./.sonar 
11:21:05.818 INFO - Source paths: src, grails-app/services, grails-app/controllers,  grails-app/domain 
11:21:05.818 INFO - Test paths: test 
11:21:05.818 INFO - Source encoding: UTF-8, default locale: en_IN 
11:21:05.818 INFO - Index files 
11:21:06.276 INFO - 226 files indexed 
11:21:44.020 INFO - Quality profile for grvy: Sonar way 
11:21:44.404 INFO - Sensor QProfileSensor... 
11:21:44.416 INFO - Sensor QProfileSensor done: 13 ms 
11:21:44.416 INFO - Sensor CodeNarc... 
11:21:44.593 WARN - No such rule in Sonar, so violation from CodeNarc will be ignored: 
11:21:44.594 WARN - No such rule in Sonar, so violation from CodeNarc will be ignored: 
11:21:44.595 WARN - No such rule in Sonar, so violation from CodeNarc will be ignored: 
11:21:44.596 WARN - No such rule in Sonar, so violation from CodeNarc will be ignored: 
11:21:44.599 WARN - Resource is not indexed. Ignoring violation [email protected] 
[[email protected][key=<null>,deprecatedKey=grails-app/controllers/LoginController.groovy,path=<null>, 
dir=grails-app/controllers,filename=LoginController.groovy,language=<null>],rule=Rule[id=427,name=Catch 
Exception,key=org.codenarc.rule.exceptions.CatchExceptionRule,configKey=CatchException,plugin=grvy,severity=MINOR,isTemplate=false,status=READY,language=grvy,template=<null>], 
message=The type Exception should not be caught,severity=<null>,lineId=93,cost=<null>,createdAt=<null>,switchedOff=false, 
checksum=<null>,isNew=false,isManual=false,permanentId=<null>,personId=<null>] 
11:21:44.602 WARN - Resource is not indexed. Ignoring violation [email protected][[email protected][key=<null>, 
deprecatedKey=grails-app/controllers/LoginController.groovy,path=<null>,dir=grails-app/controllers,filename=LoginController.groovy,language=<null>],rule=Rule[id=431,name=Unused Method Parameter,key=org.codenarc.rule.unused.UnusedMethodParameterRule,configKey=UnusedMethodParameter, 
plugin=grvy,severity=MINOR,isTemplate=false,status=READY,language=grvy,template=<null>], 
message=Violation in class LoginController. Method parameter [newSignup] is never referenced in the method authComplete of class LoginController,severity=<null>,lineId=100,cost=<null>,createdAt=<null>, 
switchedOff=false,checksum=<null>,isNew=false,isManual=false,permanentId=<null>,personId=<null>] 
... 
... 
... 
11:21:45.661 WARN - Resource is not indexed. Ignoring violation [email protected][[email protected][key=<null>,deprecatedKey=test/unit/project/HomeControllerTests.groovy, 
path=<null>,dir=test/unit/project,filename=HomeControllerTests.groovy,language=<null>],rule=Rule[id=643,name=Empty Method,key=org.codenarc.rule.basic.EmptyMethodRule,configKey=EmptyMethod,plugin=grvy, 
severity=MINOR,isTemplate=false,status=READY,language=grvy,template=<null>], 
message=Violation in class HomeControllerTests. The method tearDown is both empty and not marked with @Override,severity=<null>,lineId=121,cost=<null>,createdAt=<null>,switchedOff=false,checksum=<null>, 
isNew=false,isManual=false,permanentId=<null>,personId=<null>] 
11:21:45.661 INFO - Sensor CodeNarc done: 1245 ms 
11:21:45.662 INFO - Sensor GroovySensor... 
11:21:48.552 INFO - GMetrics completed: 1493ms 
11:21:49.580 INFO - GMetrics completed: 941ms 
11:21:51.285 INFO - GMetrics completed: 1601ms 
11:21:51.561 INFO - GMetrics completed: 156ms 
11:21:52.081 INFO - GMetrics completed: 488ms 
11:21:52.167 INFO - Sensor GroovySensor done: 6505 ms 
11:21:52.167 INFO - Sensor Groovy CoberturaSensor... 
11:21:52.167 INFO - Analyzing Cobertura report: target/test-reports/cobertura/coverage.xml 
11:21:52.955 INFO - Sensor Groovy CoberturaSensor done: 788 ms 
11:21:52.956 INFO - Sensor ScmActivitySensor... 
11:21:52.956 INFO - Trying to guess scm provider from project layout... 
11:21:52.956 INFO - Found SCM type: git 
11:21:52.958 INFO - Retrieve SCM blame information with encoding UTF-8... 
11:21:55.580 INFO - Retrieve SCM blame information with encoding UTF-8 done: 2622 ms 
11:21:55.581 INFO - Sensor ScmActivitySensor done: 2625 ms 
11:21:55.585 INFO - Sensor InitialOpenIssuesSensor... 
11:21:55.597 INFO - Sensor InitialOpenIssuesSensor done: 11 ms 
11:21:55.597 INFO - Sensor ProjectLinksSensor... 
11:21:55.607 INFO - Sensor ProjectLinksSensor done: 10 ms 
11:21:55.608 INFO - Sensor VersionEventsSensor... 
11:21:55.733 INFO - Sensor VersionEventsSensor done: 125 ms 
11:21:55.733 INFO - Sensor FileHashSensor... 
11:21:55.743 INFO - Sensor FileHashSensor done: 9 ms 
11:21:55.743 INFO - Sensor CPD Sensor (wrapped)... 
11:21:55.743 INFO - DefaultCpdEngine is used for grvy 
11:21:55.751 INFO - Cross-project analysis disabled 
11:21:56.330 INFO - Sensor CPD Sensor (wrapped) done: 587 ms 
11:21:56.918 INFO - Execute decorators... 
11:22:01.785 INFO - Store results in database 
11:22:10.256 INFO - ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard/index/project 
11:22:10.392 INFO - Executing post-job class org.sonar.plugins.core.issue.notification.SendIssueNotificationsPostJob 
11:22:10.393 INFO - Executing post-job class org.sonar.plugins.core.batch.IndexProjectPostJob 
11:22:10.461 INFO - Executing post-job class org.sonar.plugins.dbcleaner.ProjectPurgePostJob 
11:22:10.473 INFO - -> Keep one snapshot per day between 2014-11-25 and 2014-12-22 
11:22:10.475 INFO - -> Keep one snapshot per week between 2013-12-24 and 2014-11-25 
11:22:10.475 INFO - -> Keep one snapshot per month between 2009-12-29 and 2013-12-24 
11:22:10.476 INFO - -> Delete data prior to: 2009-12-29 
11:22:10.482 INFO - -> Clean project [id=225] 
11:22:10.487 INFO - <- Clean snapshot 8702 
INFO: ------------------------------------------------------------------------ 
INFO: EXECUTION SUCCESS 
INFO: ------------------------------------------------------------------------ 
Total time: 1:15.303s 
Final Memory: 26M/737M 
INFO: ------------------------------------------------------------------------ 

我已经安装在SonarQube服务器 Installed Plugin for SonarQube Server 所有配置毕竟必要的插件,为什么这些规则得到忽略,项目产生的零个问题?

回答

0

我有同样的问题,从codenarc报告生成忽略问题。 我在sonarqube Nabble服务中发现类似的话题,可能从路径属性中删除codenarc报告中的每个“grails-app/domain /”,“grails-app/services /”等都可以解决问题,但这只是问题,没有关于如何自动执行它。 下面我在文章中附加了这篇文章的链接。 http://sonarqube.15.x6.nabble.com/No-Issues-and-code-coverage-for-groovy-in-multi-language-project-with-SonarQube-4-2-tp5023761p5023806.html

+0

你能在你的答案中包含链接中的相关要点吗? –

+0

@OllyCruickshank当然是。我编辑了我的帖子,并链接到我提到的帖子。谢谢! – Milek

0

我们有同样的问题。这个问题包含SonarQube无法处理CodeNarc报告XML文件中的违规行为。如先前答案中所共享的,XML文件中的条目类似于以下内容:

... 
<Package path='grails-app' totalFiles='54' filesWithViolations='46' priority1='10' priority2='92' priority3='610'/> 
<Package path='grails-app/controllers' totalFiles='16' filesWithViolations='16' priority1='6' priority2='71' priority3='299'/> 
<Package path='grails-app/controllers/com' totalFiles='16' filesWithViolations='16' priority1='6' priority2='71' priority3='299'/> 
<Package path='grails-app/controllers/com/...' totalFiles='16' filesWithViolations='16' priority1='6' priority2='71' priority3='299'/> 
... 

将导致它们被忽略。作为变通,我们写道,剔除了从报告文件“的grails-app”和“的grails-app/<文件夹> /”,使它看起来像下面这样的Groovy脚本:

... 
<Package path='com' totalFiles='16' filesWithViolations='16' priority1='6' priority2='71' priority3='299'/> 
<Package path='com/...' totalFiles='16' filesWithViolations='16' priority1='6' priority2='71' priority3='299'/> 
... 

该脚本在我们的Jenkins构建期间生成报告并且执行声呐分析之前运行。

我们运行SonarQube 4.5.1(LTS)并使用Groovy插件的1.0.1版本。