detekt
detektA static analysis tool for Kotlin. Rules are enabled or disabled in a YAML configuration file.
detekt lets you configure rule enable/disable settings and thresholds through a YAML configuration file.
We recommend declaring the configuration file and the baseline in your architecture definition too, so katachi knows about them.
@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApiimport me.tbsten.katachi.dsl.architecture
val projectArchitecture = architecture { "Tools".group { detekt() }}
// roles/Detekt.kt@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApiimport me.tbsten.katachi.dsl.DeclarationContainerScope
private const val detektConfigDir = "config/detekt"
fun DeclarationContainerScope.detekt() = "Detekt".group { "Config" { title = "detekt config file" summary = "YAML that enables or disables detekt rules and sets thresholds" layout { detektConfigDir / "*.yml".file() } }
"Baseline" { title = "detekt baseline" summary = "baseline.xml that tolerates existing findings (may be absent)" layout { detektConfigDir / "baseline.xml".file().optional() } } }