0

我在 Android Studio 中有一个 android 项目,我想使用 detekt 作为静态代码分析器。我可以通过 gradle 任务运行 detekt,并且可以使用 Android 运行配置在运行应用程序之前将其排队,但如果任务返回错误代码,我似乎无法让它停止运行。

我在构建管道中从命令行运行了 detekt,但我希望开发人员也无法在他们的开发机器上运行。

4

1 回答 1

0

原来解决方案是在所有文件中添加 gradle 任务。就我而言,我需要为 detekt 添加一个顶级 gradle 文件。'detekt.gradle'

然后在我的主gradle文件中

allprojects {
    repositories {
        google()
        jcenter()
    }
    apply from: "$rootDir/detekt.gradle"
}

然后在我输入的每个模块 gradle 文件中:

preBuild.dependsOn(detekt)

这使得模块的每个构建都首先运行 detekt,如果 detekt 失败,构建将不会完成。

于 2020-09-17T16:07:58.403 回答