All Projects → insideapp-oss → Sonar Flutter

insideapp-oss / Sonar Flutter

Licence: other
SonarQube plugin for Flutter / Dart

Programming Languages

java
68154 projects - #9 most used programming language
dart
5743 projects

Projects that are alternatives of or similar to Sonar Flutter

sonar-scala
A free and open-source SonarQube plugin for static code analysis of Scala projects.
Stars: ✭ 113 (-18.12%)
Mutual labels:  coverage, sonarqube
Nxplorerjs Microservice Starter
Node JS , Typescript , Express based reactive microservice starter project for REST and GraphQL APIs
Stars: ✭ 193 (+39.86%)
Mutual labels:  sonarqube, coverage
Sonar Stash
Stash (BitBucket) plugin, a pull-request decorator which allows to integrate SonarQube violations directly into your pull-request
Stars: ✭ 174 (+26.09%)
Mutual labels:  sonarqube, coverage
Sonar Kotlin
SonarQube plugin for Kotlin
Stars: ✭ 412 (+198.55%)
Mutual labels:  sonarqube, code-analysis
Zpa
A parser and source code analyzer for PL/SQL and Oracle SQL.
Stars: ✭ 124 (-10.14%)
Mutual labels:  sonarqube
Coveralls Ruby
Coveralls for Ruby
Stars: ✭ 115 (-16.67%)
Mutual labels:  coverage
Bashcov
Code coverage tool for Bash
Stars: ✭ 113 (-18.12%)
Mutual labels:  coverage
Narwhal
A progressive test framework for C.
Stars: ✭ 110 (-20.29%)
Mutual labels:  tests
Nodejsscan
nodejsscan is a static security code scanner for Node.js applications.
Stars: ✭ 1,874 (+1257.97%)
Mutual labels:  code-analysis
Sonar Scanner Npm
SonarQube Scanner for the JavaScript world
Stars: ✭ 130 (-5.8%)
Mutual labels:  sonarqube
Feram
Feram finds & fixes bugs in your commits
Stars: ✭ 122 (-11.59%)
Mutual labels:  code-analysis
Sbt Jacoco
JaCoCo Code Coverage plug-in for sbt.
Stars: ✭ 115 (-16.67%)
Mutual labels:  coverage
Find Sec Bugs
The SpotBugs plugin for security audits of Java web applications and Android applications. (Also work with Kotlin, Groovy and Scala projects)
Stars: ✭ 1,748 (+1166.67%)
Mutual labels:  code-analysis
Privacyflash Pro
Generate a privacy policy for your iOS app
Stars: ✭ 114 (-17.39%)
Mutual labels:  code-analysis
Zebrunner
Zebrunner is a Test Automation Management Tool
Stars: ✭ 131 (-5.07%)
Mutual labels:  sonarqube
Teaspoon
Teaspoon: Javascript test runner for Rails. Use Selenium, BrowserStack, or PhantomJS.
Stars: ✭ 1,443 (+945.65%)
Mutual labels:  coverage
Example Swift
Codecov: Swift coverage example
Stars: ✭ 121 (-12.32%)
Mutual labels:  coverage
Example Cpp11 Cmake
Stars: ✭ 129 (-6.52%)
Mutual labels:  coverage
Ycmd
A code-completion & code-comprehension server
Stars: ✭ 1,575 (+1041.3%)
Mutual labels:  code-analysis
Jacoco Plugin
Jenkins JaCoCo Plugin
Stars: ✭ 119 (-13.77%)
Mutual labels:  coverage

CI Coverage

SonarQube plugin for Flutter / Dart

A plugin to enable analysis of Dart and Flutter projects into SonarQube.

main.png

Features

Feature Supported
Size YES
Issues YES (dartanalyzer rules)
Tests YES
Coverage YES
Complexity YES
Syntax YES

The plugin is compatible with sonarQube 6.7+.

Download

Checkout the Releases page.

Changelog is available here.

Prerequisites

Flutter SDK

Install Flutter as explained on the official documentaiton page.

Installation instructions

Dart

Dart is downloaded by the Flutter SDK in $FLUTTER_HOME/bin/cache/dart-sdk, however command lines are not on the path by default (dartanalyzer must be on the path).

It is recommanded to install Dart SDK separately as explained here : Install the Dart SDK for more reliability in a CI/CD environement.

sonar-scanner (requires Java)

Install sonar-scanner as explained in the official documentation.

Installation instructions

Installation (on the server)

  • Download the plugin binary into the $SONARQUBE_HOME/extensions/plugins directory.
  • Restart the server.

Project configuration

Create a sonar-project.properties file at the root with this content :

# Project identification
sonar.projectKey=flutter_rocks
sonar.projectName=Flutter Rocks
sonar.projectVersion=1.0
	
# Source code location.
# Path is relative to the sonar-project.properties file. Defaults to .
# Use commas to specify more than one folder.
sonar.sources=lib
sonar.tests=test
	
# Encoding of the source code. Default is default system encoding.
sonar.sourceEncoding=UTF-8

For a complete list of available options, please refer to the SonarQube documentation.

Run analysis

Use the following commands from the root folder to start an analysis:

# Download dependencies 
flutter pub get 
# Run tests
flutter test --machine > tests.output
# Compute coverage (--machine and --coverage cannot be run at once...)
flutter test --coverage
# Run the analysis and publish to the SonarQube server
sonar-scanner

Use existing analysis options

The plugin uses its own analysis options file. If analysis_options.yaml file already exists under the project root, it will be saved during the analysis and then restored to its initial state.

To disable this behavior and use the existinganalysis_options.yaml file instead, add the following line to sonar-project.properties file :

# Use existing options to perform dartanalyzer analysis
sonar.dart.analysis.useExistingOptions=true

Contributing

Any help is welcome, and PRs will be greatly appreciated!

License

SonarQube Plugin for Flutter / Dart is released under the GNU LGPL v3 license. See the LICENSE file for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].