detekt

Join the chat at https://kotlinlang.slack.com/messages/C88E12QH4/convo/C0BQ5GZ0S-1511956674.000289/ Visit the website at https://arturbosch.github.io/detekt/ build status build status windows Download gradle plugin

All Contributors Awesome Kotlin Badge

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

detekt in action

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

androidweekly androidweekly

As mentioned in…

Integrations:

Credits

compile "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.0.0.RC7"

Related Libraries

kotlin-argparser

Easy to use and concise yet powerful and robust command line argument parsing for Kotlin

Last updated 3 mins ago

ktlint

An anti-bikeshedding Kotlin linter with built-in formatter

Last updated 3 mins ago

ts2kt

Converter of TypeScript definition files to Kotlin external declarations

Last updated 3 mins ago

kotlin-frontend-plugin

Gradle Kotlin (http -//kotlinlang.org) plugin for frontend development

Last updated 3 mins ago

dokka

Documentation Engine for Kotlin

Last updated 3 mins ago