Skip to content
  • Beginner

detekt

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.

ProjectArchitecture.kt
@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApi
import me.tbsten.katachi.dsl.architecture
val projectArchitecture = architecture {
"Tools".group {
detekt()
}
}
// roles/Detekt.kt
@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApi
import 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()
}
}
}