Sonar Dart Plugin 
 
 
A Dart SonarQube plugin compatible with SonarQube 8.x.
This plugin relies on the output of the dartanalyzer for the generation of SonarQube issues. Please refer to the configuration key sonar.dart.analyzer.
Requirements
- SonarQube 8.x
 - A Dart 2.x code base
 
Installing
Copy the jar file downloaded from the Releases to the extensions/plugins folder of your SonarQube server, and restart SonarQube.
Building and Deploying
- Ensure you meet the following development dependencies: 
  
- Java 11+
 - Apache Maven 3.x
 
 - Run 
mvn clean install - Copy the jar file from 
sonar-dart-plugin/targetto the SonarQubeextensions/pluginsfolder - Restart the SonarQube server
 
Configuration
Example project configuration
This is an example project configuration file (sonar-project.properties):
sonar.host.url=http://sonar:9000
sonar.login=<my key>
sonar.projectKey=company:my-application
sonar.projectName=My Application
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.inclusions=**/lib/src/**
sonar.exclusions=**/.dart_tool/**,**/*.g.dart,**/*.reflectable.dart
sonar.dart.analyzer=dartanalyzer.out
sonar.dart.lcov.reportPaths=lcov.out
 
- See SonarQube's Analysis Parameters documentation for general configuration options.
 - See SonarQube's Narrowing the Focus documentation for filtering which files get analyzed.
 
Plugin Configuration
| Key | Description | 
|---|---|
| sonar.dart.analyzer | Path to the collected output of dartanalyzer. It must be run with --format=machine. For example: dartanalyzer --lints --format=machine --packages=.packages . 2>dartanalyzer.out |  
  
| sonar.dart.lcov.reportPaths | A comma separated list of dart test coverage data formatted with coverage:format_coverage. For example: pub run test --coverage coverage && pub run coverage:format_coverage --packages=.packages -i coverage --lcov --out=lcov.out |  
  
License
Copyright 2020 Client Outlook
Licensed under The 3-Clause BSD License