All Projects → detekt → Sonar Kotlin

detekt / Sonar Kotlin

Licence: lgpl-3.0
SonarQube plugin for Kotlin

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Sonar Kotlin

Wotan
Pluggable TypeScript and JavaScript linter
Stars: ✭ 271 (-34.22%)
Mutual labels:  linter, code-quality, code-analysis
sonar-gherkin-plugin
SonarQube Cucumber Gherkin Analyzer
Stars: ✭ 33 (-91.99%)
Mutual labels:  linter, sonarqube, code-quality
Sonar Jproperties Plugin
SonarQube Java Properties Analyzer
Stars: ✭ 5 (-98.79%)
Mutual labels:  linter, sonarqube, code-quality
static-code-analysis-plugin
A plugin to simplify Static Code Analysis on Gradle. Not restricted to, but specially useful, in Android projects, by making sure all analysis can access the SDK classes.
Stars: ✭ 36 (-91.26%)
Mutual labels:  linter, code-analysis, code-quality
Pmd
An extensible multilanguage static code analyzer.
Stars: ✭ 3,667 (+790.05%)
Mutual labels:  linter, code-quality, code-analysis
Sonarts
Static code analyzer for TypeScript
Stars: ✭ 776 (+88.35%)
Mutual labels:  linter, sonarqube, code-quality
sonar-css-plugin
SonarQube CSS / SCSS / Less Analyzer
Stars: ✭ 46 (-88.83%)
Mutual labels:  linter, sonarqube, code-quality
flake8-broken-line
🚨 Flake8 plugin to forbid backslashes (\) for line breaks
Stars: ✭ 85 (-79.37%)
Mutual labels:  linter, code-quality
megalinter
🦙 Mega-Linter analyzes 48 languages, 22 formats, 19 tooling formats, excessive copy-pastes, spelling mistakes and security issues in your repository sources with a GitHub Action, other CI tools or locally.
Stars: ✭ 534 (+29.61%)
Mutual labels:  linter, code-quality
Credo
A static code analysis tool for the Elixir language with a focus on code consistency and teaching.
Stars: ✭ 4,144 (+905.83%)
Mutual labels:  linter, code-analysis
sonar-esql-plugin
Sonar plugin to analyze ESQL-sourcecode of IBM Integration Bus projects
Stars: ✭ 26 (-93.69%)
Mutual labels:  sonarqube, code-quality
codeclimate-eslint
Code Climate Engine for ESLint
Stars: ✭ 86 (-79.13%)
Mutual labels:  linter, code-quality
jdepend
A Java package dependency analyzer that generates design quality metrics.
Stars: ✭ 13 (-96.84%)
Mutual labels:  code-analysis, code-quality
Android-CICD
This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉
Stars: ✭ 37 (-91.02%)
Mutual labels:  linter, sonarqube
Coala Bears
Bears for coala
Stars: ✭ 276 (-33.01%)
Mutual labels:  linter, code-analysis
lancer
Turn your python code into a hideous mess. Ever heard of Black? This is the opposite.
Stars: ✭ 179 (-56.55%)
Mutual labels:  linter, code-analysis
Reviewdog
🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
Stars: ✭ 4,541 (+1002.18%)
Mutual labels:  linter, code-quality
Pylint
It's not just a linter that annoys you!
Stars: ✭ 3,733 (+806.07%)
Mutual labels:  linter, code-quality
Detekt
Static code analysis for Kotlin
Stars: ✭ 4,169 (+911.89%)
Mutual labels:  linter, code-quality
flake8-simplify
❄ A flake8 plugin that helps you to simplify code
Stars: ✭ 97 (-76.46%)
Mutual labels:  linter, code-quality

sonar-detekt

Join the chat at https://kotlinlang.slack.com/messages/C88E12QH4/convo/C0BQ5GZ0S-1511956674.000289/ Pre Merge Checks FOSSA Status

sonar-kotlin-in-action

Features

  • Integrates detekt for static code analysis
  • Default quality profiles detekt active (80+ rules) and detekt all (164+ rules)
  • Supports SonarQube 7.9.3+
  • Supports detekt's yaml config, baseline.xml and excludes
  • Seamless integration with official SonarKotlin (no redundant features)

Non supported features as of 2.x.x

  • code coverage
  • test reports
  • syntax highlighting
  • metrics

The official SonarKotlin plugin now supports these features.

Usage

Sonar Update Center

  • Administration > Marketplace > Search for detekt

Building from source

  • git clone https://github.com/detekt/sonar-detekt
  • cd sonar-detekt
  • mvn verify
  • cp target/sonar-detekt-<version>.jar $SONAR_HOME/extensions/plugins
  • cd $SONAR_HOME/bin/<OS>
  • ./sonar.sh restart

Configurations, Baselines and Filters

Read about detekt configuration files here and about detekt baseline formats here.

Best ways to get started is to configure the detekt-gradle-plugin in your project and use its detektBaseline and detektGenerateConfig tasks.

  • detektGenerateConfig copies the default configuration file which you can use to turn on and off rules and set appropriate threshold values for some rules.
  • detektBaseline analyzes your project and generates a baseline xml file with all your current findings. This findings won't get reported anymore in sonar.
Settings

To make use of this features, you have to set up some properties:

configs

detekt path filters support multiple regex entries by adding a , for separating. detekt yaml configuration path also supports multiple configuration files where the first entered override some values of the later added config files.

Limitations

Sonar analyzes each module individually which makes it harder to search for your config files. If you use relative paths, sonar-detekt first tries to find the provided path inside this module and if it can't find it, we are searching for the file in the parent folder. This leads to the limitation that only projects with sub-projects of depth 1 are supported. If you need more config files in your project hierarchies, provide them in the sub-projects with the same relative path available.

Mentions

As mentioned/used in ...

License

FOSSA Status

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].