detekt

Additional

Language
Kotlin
Version
RC7-2 (Jun 9, 2018)
Created
Oct 23, 2016
Updated
Jun 22, 2018
Owner
Artur Bosch (arturbosch)
Contributors
egor-n
rock3r
Janusz Bagiński (jbaginski)
Marc Prengemann (winterDroid)
sschuberth
scottkennedy
Serj Lotutovici (serj-lotutovici)
Karol Wrótniak (koral--)
gitter-badger
Said Tahsin Dane (tasomaniac)
Niklas Baudy (vanniktech)
mnonnenmacher
tokou
Ilya Zorin (geralt-encore)
eskatos
MyDogTom
tagantroy
mkobit
Show all (46)46
Activity
Badge
Generate
Download
Source code

Blurb

detekt

Meet detekt, a static code analysis tool for the Kotlin programming language. It operates on the abstract syntax tree provided by the Kotlin compiler.

Features

  • code smell analysis for your kotlin projects
  • complexity report based on logical lines of code, McCabe complexity and amount of code smells
  • highly configurable (rule set or rule level)
  • suppress findings with Kotlin's @Suppress and Java's @SuppressWarnings annotations
  • specify code smell thresholds to break your build or print a warning
  • code Smell baseline and ignore lists for legacy projects
  • gradle plugin for code analysis via Gradle builds
  • gradle tasks to use local intellij distribution for formatting and inspecting kotlin code
  • optionally configure detekt for each sub module by using profiles (gradle-plugin)
  • sonarqube integration
  • extensible by own rule sets and FileProcessListener's
  • intellij integration
  • unofficial maven plugin by the user Ozsie

Project Website

Visit https://arturbosch.github.io/detekt/ for installation guides, release notes, migration guides, rule descriptions and configuration options.

Quick Start ...

with command-line interface

  • git clone https://github.com/arturbosch/detekt
  • cd detekt
  • ./gradlew build shadowJar
  • java -jar detekt-cli/build/libs/detekt-cli-[version]-all.jar --help

with gradle

buildscript {
    repositories {
        jcenter()
    }
}

plugins {
    id "io.gitlab.arturbosch.detekt" version "1.0.0.[version]"
}

detekt {
    version = "1.0.0.[version]"
    defaultProfile {
        input = file("src/main/kotlin")
        filters = ".*/resources/.*,.*/build/.*"
    }
}

Contributors

If you contributed to detekt but your name is not in the list, please feel free to add yourself to it!

Mentions

As mentioned in...

Integrations:

Credits