2014-12-23 116 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版本。