lint-rules
Some conventions cannot be enforced by a type: that navigation is only constructed inside the modules that own it, that a presenter carries the code generation annotation instead of a binding written by hand, that a test is named after the behaviour it checks. These are the ktlint rules that catch those in review instead of leaving them to a reviewer.
The rules are loaded through a ktlint rule set provider, so nothing here is called directly. Add the artifact to Spotless as a custom rule set, or apply the lint plugin and let it do that.
plugins {
id("io.github.thomaskioko.gradle.plugins.lint")
}Content copied to clipboard
The rules that need an escape hatch read their exemptions from .editorconfig, so a module that legitimately breaks one says so in the file it applies to rather than disabling the rule everywhere.