0

预期行为

./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"
}

我在 github 的官方页面上提出了错误:https://github.com/detekt/detekt/issues/4088

4

0 回答 0