Когда я запускаю ./gradlew sonar
, он запускает анализатор и загружает файлы, проект добавляется в базу данных sonarqube со списком файлов, сложностью и т. д., но для проекта не создается никаких проблем. Android Lint (в него добавлено 147 правил) установлен как список проблем по умолчанию, а SonarQube — как стандартный (и единственный) контроль качества.
Полный журнал:
sudokusolver git:(master) ✗ ./gradlew sonar
:app:sonarqube
INFO: Default locale: "en_GB", source code encoding: "UTF-8" (analysis is platform dependent)
INFO: Work directory: /home/agilob/Projects/sudokusolver/app/build/sonar
INFO: SonarQube Server 5.1.2
11:48:48.324 INFO - Load global repositories
11:48:48.552 INFO - Load global repositories (done) | time=234ms
11:48:48.554 INFO - Server id: 20150807203003
11:48:48.557 INFO - User cache: /home/agilob/.sonar/cache
11:48:48.565 INFO - Install plugins
11:48:48.949 INFO - Install JDBC driver
11:48:48.962 INFO - Create JDBC datasource for jdbc:h2:tcp://localhost/sonar
11:48:50.575 INFO - Initializing Hibernate
11:48:52.689 INFO - Load project repositories
11:48:52.925 INFO - Load project repositories (done) | time=236ms
11:48:52.926 INFO - Load project settings
11:48:53.265 INFO - Load technical debt model
11:48:53.299 INFO - Apply project exclusions
11:48:53.555 WARN - 'sonar.dynamicAnalysis' is deprecated since version 4.3 and should no longer be used.
11:48:53.574 WARN - SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project.
11:48:53.576 INFO - ------------- Scan SudokuSolver
11:48:53.583 INFO - Load module settings
11:48:53.727 INFO - Language is forced to java
11:48:53.739 INFO - Load rules
11:48:54.981 INFO - Base dir: /home/agilob/Projects/sudokusolver/app
11:48:54.981 INFO - Working dir: /home/agilob/Projects/sudokusolver/app/build/sonar
11:48:54.982 INFO - Source paths: src/main
11:48:54.982 INFO - Test paths: src/androidTest
11:48:54.983 INFO - Source encoding: UTF-8, default locale: en_GB
11:48:54.983 INFO - Index files
11:48:55.116 INFO - 35 files indexed
11:48:55.304 INFO - Quality profile for java: Android Lint
11:48:55.511 WARN - ----------------------------------------------------------------
11:48:55.512 WARN - Sonargraph: Skipping projectSudokuSolver [SusokuSolver], since no Sonargraph rules are activated in current SonarQube quality profile.
11:48:55.512 WARN - ----------------------------------------------------------------
11:48:55.512 INFO - Trying to guess scm provider from project layout...
11:48:55.513 INFO - Found SCM type: git
11:48:55.523 INFO - Sensor JavaSquidSensor
11:48:56.119 INFO - Java Main Files AST scan...
11:48:56.122 INFO - 34 source files to be analyzed
11:48:59.551 INFO - Java Main Files AST scan done: 3432 ms
11:48:59.552 INFO - 34/34 source files have been analyzed
11:48:59.552 WARN - Java bytecode has not been made available to the analyzer. The org.sonar.java.bytecode.visitor.DependenciesVisitor@6e61d22c are disabled.
11:48:59.553 INFO - Java Test Files AST scan...
11:48:59.553 INFO - 1 source files to be analyzed
11:48:59.653 INFO - Java Test Files AST scan done: 100 ms
11:48:59.653 INFO - 1/1 source files have been analyzed
11:48:59.660 INFO - Sensor JavaSquidSensor (done) | time=4137ms
11:48:59.660 INFO - Sensor Lines Sensor
11:48:59.673 INFO - Sensor Lines Sensor (done) | time=13ms
11:48:59.674 INFO - Sensor QProfileSensor
11:48:59.680 INFO - Sensor QProfileSensor (done) | time=6ms
11:48:59.680 INFO - Sensor InitialOpenIssuesSensor
11:48:59.689 INFO - Sensor InitialOpenIssuesSensor (done) | time=9ms
11:48:59.689 INFO - Sensor ProjectLinksSensor
11:48:59.701 INFO - Sensor ProjectLinksSensor (done) | time=12ms
11:48:59.702 INFO - Sensor VersionEventsSensor
11:48:59.721 INFO - Sensor VersionEventsSensor (done) | time=19ms
11:48:59.722 INFO - Sensor SurefireSensor
11:48:59.723 INFO - parsing /home/agilob/Projects/sudokusolver/app/target/surefire-reports
11:48:59.724 ERROR - Reports path not found or is not a directory: /home/agilob/Projects/sudokusolver/app/target/surefire-reports
11:48:59.724 INFO - Sensor SurefireSensor (done) | time=2ms
11:48:59.725 INFO - Sensor ScmStatsSensor
11:48:59.726 INFO - Collection SCM Change log for the last 0 days
11:48:59.773 INFO - Executing: /bin/sh -c cd /home/agilob/Projects/sudokusolver/app && git whatchanged '--until=2015-08-08 10:48:59 +0000' --date=iso -- /home/agilob/Projects/sudokusolver/app
11:48:59.774 INFO - Working directory: /home/agilob/Projects/sudokusolver/app
11:49:00.107 INFO - Sensor ScmStatsSensor (done) | time=382ms
11:49:00.107 INFO - Sensor SCM Sensor
11:49:00.108 INFO - No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.
11:49:00.108 INFO - Sensor SCM Sensor (done) | time=1ms
11:49:00.108 INFO - Sensor CPD Sensor
11:49:00.109 INFO - JavaCpdEngine is used for java
11:49:00.110 INFO - Cross-project analysis disabled
11:49:00.395 INFO - Sensor CPD Sensor (done) | time=287ms
11:49:00.419 INFO - Loaded quality gate 'SonarQube way'
11:49:00.456 INFO - Compare to previous analysis (2015-08-08)
11:49:00.458 INFO - Compare over 30 days (2015-07-09, analysis of Fri Aug 07 23:19:57 BST 2015)
11:49:01.391 INFO - Execute decorators...
11:49:02.036 INFO - Store results in database
11:49:02.904 INFO - Analysis reports generated in 24ms, dir size=4 KB
11:49:02.934 INFO - Analysis reports compressed in 30ms, zip size=14 KB
11:49:02.964 INFO - Analysis reports sent to server in 30ms
11:49:02.964 INFO - ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard/index/SusokuSolver
11:49:02.964 INFO - Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report.
BUILD SUCCESSFUL
Total time: 24.204 secs
Моя конфигурация добавлена в основную gradle.build
buildscript {
dependencies {
classpath "org.sonarqube.gradle:gradle-sonarqube-plugin:1.0"
}
}
Моя конфигурация добавлена в app/gradle.build
apply plugin: "org.sonarqube"
sonarqube {
properties {
property "sonar.projectName", "SudokuSolver"
property "sonar.projectKey", "SusokuSolver"
property "sonar.host.url", "http://localhost:9000"
property "sonar.projectVersion", "1.0"
property "sonar.language", "java"
property "sonar.sources", "src/main/"
property "sonar.tests", "src/androidTest/"
}
}
SonarQube запускается на встроенной базе данных, просто для тестирования, но я не думаю, что это имеет значение.
Когда я запускаю анализатор кода в IDEA, через> 60 секунд он дает мне более 50 сообщений. Здесь я ничего не получаю.
Репозиторий исходного кода доступен на gitlab, это может помочь.