如何让Kotlin编译器将警告视为错误?

Jef*_*les 20 kotlin

我有一个Kotlin项目,我希望将Kotlin警告视为错误.我怎样才能做到这一点?

Ale*_*lov 25

从Kotlin 1.2开始,-Werror支持命令行参数.在Gradle中,它的名字是allWarningsAsErrors:

compileKotlin {
    kotlinOptions.allWarningsAsErrors = true
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.从文档中,供将来参考:对于Android项目,任务名称将包含构建变体(即`compileDebugKotlin`),但您可以使用`tasks.withType(org.jetbrains.kotlin.gradle)将其添加到所有任务中. .tasks.KotlinCompile).all {kotlinOptions {...}}` (4认同)
  • 需要将哪个`build.gradle`块添加到? (3认同)
  • 对于 Android:在项目级别 `build.gradle` 文件的 `allprojects` 块内,添加: `tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { kotlinOptions.allWarningsAsErrors = true }` (3认同)

Jay*_*ard 8

这似乎在Kotlin命令行帮助或Kotlin编译器可用的参数中当前不可用:

K2JVMCompilerArguments.java

CommonCompilerArguments.java

但Gradle中的一些人会这样做,以扫描编译器的日志记录,以了解何时生成警告. 如何在Javadoc警告的gradle构建上失败

在Kotlin(Intellij IDEA和Eclipse)可用的IDE插件中,没有这样的选项.

您应该在YouTrack中提交功能请求(或检查是否已存在),该请求具有Kotlin项目的所有问题跟踪.如果你这样做,请在这里发布问题,以便跟踪它.

  • 功能请求存档于https://youtrack.jetbrains.com/issue/KT-10563 (4认同)

Ens*_*lic 6

使用最新版本的 Android Gradle 插件,您可以简单地执行以下操作:

android {
    kotlinOptions {
        kotlinOptions.allWarningsAsErrors = true
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)