预期行为
./gradlew build 应该是成功的,但它会抛出错误。
观察到的行为
1. 我在我的 Kotlin 文件中设置如下过滤器。</p>
filters.set(extension.detektFilters)
错误:未解决的参考:过滤器
2.
internal fun Project.setupAndroidTasks(extension: CodeCoverageExtension) {
android {
testOptions {
unitTests.all {
jacoco {
isIncludeNoLocationClasses = true
}
}
}
createTasks(extension, variants)
}
}
错误:未解决的参考:isIncludeNoLocationClasses
重现步骤
step1:设置配置
步骤2:./gradlew clean
step3 ./gradlew 构建
它只在这里抛出错误
在第 4 步中,我想发布到本地 maven,这样我就可以在我的项目中使用这个质量工具 sdk。
step4: ./gradlew publishToMavenLocal
语境
我在我的质量工具 sdk 中使用 Detekt。我在我的 android 项目中使用这个质量工具 sdk。使用此配置 Gradle 可以正常工作:6.9 AGP(Android Gradle 插件):4.0.1 detekt:1.1.1 但是当我升级到 Gradle 7.+ 时,由于某些功能的贬值,它出现了 Detekt 错误。
我的环境
- 使用的检测器版本:1.18.0
- 使用的 Gradle 版本:gradle-7.1.1-all.zip
- AGP 版本(Android Gradle 插件):7.0.0
- 操作系统和版本:Mac OS X 11.5 x86_64 Kotlin:1.4.31 Groovy:3.0.7 Ant:Apache Ant(TM) 版本 1.10.9 编译于 2020 年 9 月 27 日 JVM:11.0.12(Oracle Corporation 11.0.12+8- LTS-237)
有关 Dependencies.kt 中其他依赖项版本的更多信息:
object Versions {
const val agpVersion = "7.0.0"
const val violationsVersion = "1.18"
const val spotbugsToolVersion = "4.4.0"
const val findSecBugsVersion = "1.11.0"
const val checkstyleToolVersion = "9.0"
const val detektVersion = "1.18.0"
const val spotbugsGradlePluginVersion = "4.7.3"
const val jUnitVersion = "4.12"
const val jacoco = "0.8.7"
}
- Gradle 扫描链接(
--scan
运行 gradle 任务时添加选项): https ://gradle.com/s/fre5tj6qnarpa
我在 github 的官方页面上提出了错误:https://github.com/detekt/detekt/issues/4088