我正在使用带有ktlint的detekt格式化我的代码,如下所示。
detekt.gradle
ext{
toolVersion = "1.0.0-RC16"
}
detekt {
input = files(...)
filters = ".*/resources/.*,.*/build/.*"
baseline = file("${project.rootDir}/tools/detekt-baseline.xml")
reports{
html{
enabled = true
}
xml{
enabled = false
}
}
config = files(file("$project.rootDir/tools/detekt.yml"))
}
dependencies {
detektPlugins "io.gitlab.arturbosch.detekt:detekt-formatting:$toolVersion"
}
detekt-baseline.yml
autoCorrect: true
build:
maxIssues: 10
weights:
# complexity: 2
# LongParameterList: 1
# style: 1
# comments: 1
项目级别 build.gradle
buildscript {
ext{...}
repositories {...}
dependencies {...}
}
plugins{
id "io.gitlab.arturbosch.detekt" version "1.0.0-RC16"
}
apply from: 'tools/detekt.gradle'
...
allprojects {
repositories {...}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
如您所见,我已经在 detekt.gradle 中添加了detekt插件用于格式化。我还在 detekt-baseline.yml 中启用了autoCorrect
。但是我运行./gradlew detekt
时代码未格式化
生成的html报告未显示任何发现,但显示了指标。
在注释掉 detekt.gradle 中的以下行后,我运行./gradlew detekt
时。
// config = files(file("$project.rootDir/tools/detekt.yml"))
它确实向我显示了一些发现,包括格式问题(例如:不必要的空白行)
如何配置detekt以根据ktlint自动设置代码格式?
这是一个android项目。
答案 0 :(得分:1)
从detekt 1.1.0-RC15开始,您必须在gradle中启用自动更正:
detekt {
autoCorrect = true
}
https://arturbosch.github.io/detekt/changelog-rc.html#migration-1