2016-01-02 49 views
8

我有一个Kotlin项目,我想将Kotlin警告视为错误。我怎样才能做到这一点?如何让Kotlin编译器将警告视为错误?

+0

在什么构建系统或IDE?答案可能会有所不同。 (我从来没有见过这个选项可用,但是一定要清楚在什么构建系统中这是适用的) –

+0

你在Github上有这个项目的源代码吗?你在使用Gradle和Intellij吗? –

+0

@JaysonMinard它使用Gradle作为构建系统 –

回答

5

由于Kotlin 1.2支持命令行参数-Werror。在Gradle中,它的名字是allWarningsAsErrors

compileKotlin { 
    kotlinOptions.allWarningsAsErrors = true 
} 
+0

哪一块'build.gradle'需要添加到? – karl

+1

@karl我认为这应该是在顶层。请参阅官方文档:https://kotlinlang.org/docs/reference/using-gradle.html#compiler-options –

+0

谢谢。从文档中,供将来参考:对于Android项目,任务名称将包含构建变体(即'compileDebugKotlin'),但您可以使用'tasks.withType(org.jetbrains.kotlin.gradle)将其添加到所有任务.tasks.KotlinCompile).all {kotlinOptions {...}}' – karl

8

这似乎并非是目前在科特林命令行帮助可用,或参数提供给科特林编译:

K2JVMCompilerArguments.java

CommonCompilerArguments.java

但有些人在Gradle中做类似这样的事情来扫描编译器的日志记录以了解何时生成警告。 How to fail gradle build on Javadoc warnings

在可用于Kotlin(Intellij IDEA和Eclipse)的IDE插件中没有这种选项。

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

+4

在https://youtrack.jetbrains.com/issue/KT-10563提交的功能请求 –

+0

同时在Gradle中写入内容是一个合理的想法。对于我来说,目前我没有足够的优先权来证明这一点,但我会在将来考虑它。 –

+0

他们将这种改进安排到1.2?为什么没有任何投票按钮 –