将 SonarQube 5.2 与 Sonar-Java-Plugin 3.8 一起使用,并使用 Sonar-Runner 2.4 进行分析。
插件和 java-custom 示例从 git ( https://github.com/SonarSource/sonar-examples/tree/master/plugins/java-custom-rules ) 下载,在服务器上构建和部署,规则在服务器。规则是在“Sonar Way”配置文件(默认)下使用 web 激活的。还创建了一个新的测试配置文件,并向其中添加了规则“在方法名称中避免品牌”,并将一个项目与它相关联。
在分析来自 (/src/test/files) 的示例 java 代码时,所有默认 java 规则的问题都被锁定在服务器上,但自定义规则没有问题被锁定。日志中也没有明确的错误。
声纳-runner.properties
sonar.host.url=http://localhost:9000
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar52?useUnicode=true&characterEncoding=utf8
sonar.jdbc.username=root
sonar.jdbc.password=ChangeIt
sonar.projectKey=TestSonarCustomRules
sonar.projectName=TestSonarCustomRules
sonar.projectVersion=1.0
sonar.sources=E:/Sonar Example/sonar-examples-master/plugins/java-custom-rules/src/test/files/
以下是分析日志:
E:\sonar-runner-2.4
SonarQube Runner 2.4
Java 1.8.0_45 Oracle Corporation (64-bit)
Windows 7 6.1 amd64
INFO: Runner configuration file: E:\sonar-runner-2.4\conf\sonar-runner.properties
INFO: Project configuration file: NONE
INFO: Default locale: "en_US", source code encoding: "windows-1252" (analysis is platform dependent)
INFO: Work directory: E:\Sonar Example\sonar-examples-master\plugins\java-custom-rules\src\test\files\.\.sonar
INFO: SonarQube Server 5.2
18:56:49.391 INFO - Load global repositories
18:56:49.539 INFO - Load global repositories (done) | time=145ms
18:56:49.557 WARN - Property 'sonar.jdbc.url' is not supported any more. There is no more DB connection to the SQ database. It will be ignored.
18:56:49.558 WARN - Property 'sonar.jdbc.username' is not supported any more. There is no more DB connection to the SQ database. It will be ignored.
18:56:49.558 WARN - Property 'sonar.jdbc.password' is not supported any more. There is no more DB connection to the SQ database. It will be ignored.
18:56:49.560 INFO - User cache: C:\Users\kapil.saxena\.sonar\cache
18:56:49.777 INFO - Load plugins index
18:56:49.781 INFO - Load plugins index (done) | time=4ms
18:56:49.960 INFO - Process project properties
18:56:50.209 INFO - Load project repositories
18:56:50.290 INFO - Load project repositories (done) | time=81ms
18:56:50.298 INFO - Apply project exclusions
18:56:50.369 INFO - Load quality profiles
18:56:50.401 INFO - Load quality profiles (done) | time=32ms
18:56:50.403 INFO - Load active rules
18:56:50.478 INFO - Load active rules (done) | time=75ms
18:56:50.498 WARN - SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project.
18:56:50.499 INFO - Publish mode
18:56:50.500 INFO - ------------- Scan TestSonarCustomRules
18:56:50.582 INFO - Load server rules
18:56:50.630 INFO - Load server rules (done) | time=48ms
18:56:50.683 INFO - Base dir: E:\Sonar Example\sonar-examples-master\plugins\java-custom-rules\src\test\files
18:56:50.683 INFO - Working dir: E:\Sonar Example\sonar-examples-master\plugins\java-custom-rules\src\test\files\.sonar
18:56:50.685 INFO - Source paths: .
18:56:50.685 INFO - Source encoding: windows-1252, default locale: en_US
18:56:50.686 INFO - Index files
18:56:50.758 INFO - 7 files indexed
18:56:50.760 INFO - Quality profile for java: Kapil Test Profile
18:56:50.786 INFO - Sensor JavaSquidSensor
18:56:50.925 INFO - Configured Java source version: none
18:56:50.954 INFO - JavaClasspath initialization...
18:56:50.954 INFO - JavaClasspath initialization done: 0 ms
18:56:50.954 INFO - JavaTestClasspath initialization...
18:56:50.954 INFO - JavaTestClasspath initialization done: 0 ms
18:56:51.232 INFO - Java Main Files AST scan...
18:56:51.234 INFO - 7 source files to be analyzed
18:56:51.631 INFO - 7/7 source files have been analyzed
18:56:51.632 INFO - Java Main Files AST scan done: 400 ms
18:56:51.632 WARN - Java bytecode has not been made available to the analyzer. The org.sonar.java.bytecode.visitor.DependenciesVisitor@3a5c2626 are disabled.
18:56:51.632 INFO - Java Test Files AST scan...
18:56:51.632 INFO - 0 source files to be analyzed
18:56:51.632 INFO - Java Test Files AST scan done: 0 ms
18:56:51.632 INFO - 0/0 source files have been analyzed
18:56:51.632 INFO - Sensor JavaSquidSensor (done) | time=846ms
18:56:51.633 INFO - Sensor Lines Sensor
18:56:51.635 INFO - Sensor Lines Sensor (done) | time=2ms
18:56:51.635 INFO - Sensor QProfileSensor
18:56:51.640 INFO - Sensor QProfileSensor (done) | time=5ms
18:56:51.640 INFO - Sensor SurefireSensor
18:56:51.641 INFO - parsing E:\Sonar Example\sonar-examples-master\plugins\java-custom-rules\src\test\files\target\surefire-reports
18:56:51.641 ERROR - Reports path not found or is not a directory: E:\Sonar Example\sonar-examples-master\plugins\java-custom-rules\src\test\files\target\surefire-reports
18:56:51.641 INFO - Sensor SurefireSensor (done) | time=1ms
18:56:51.641 INFO - Sensor SCM Sensor
18:56:51.641 INFO - No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.
18:56:51.641 INFO - Sensor SCM Sensor (done) | time=0ms
18:56:51.641 INFO - Sensor Code Colorizer Sensor
18:56:51.642 INFO - Sensor Code Colorizer Sensor (done) | time=1ms
18:56:51.642 INFO - Sensor CPD Sensor
18:56:51.642 INFO - JavaCpdEngine is used for java
18:56:51.682 INFO - Sensor CPD Sensor (done) | time=40ms
18:56:51.752 INFO - Analysis reports generated in 68ms, dir size=9 KB
18:56:51.873 INFO - Analysis reports compressed in 121ms, zip size=11 KB
18:56:51.912 INFO - Analysis reports sent to server in 38ms
18:56:51.913 INFO - ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard/index/TestSonarCustomRules
18:56:51.913 INFO - Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report.
18:56:51.913 INFO - More about the report processing at http://localhost:9000/api/ce/task?id=AVGl0nT8XJ_fdu5L48WL
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS INFO:
------------------------------------------------------------------------
Total time: 3.290s Final Memory: 14M/325M INFO:
------------------------------------------------------------------------
声纳、访问和包装日志都是干净的。
这是来自 SonarQube 网络的图片,显示了AvoidBrandInMethodNamesChecks的问题,其中所有默认问题都已锁定,但针对自定义规则的问题未锁定: AvoidBrandInMethodNamesCheck 的问题
任何帮助,将不胜感激。