JJD*_*JJD 3 groovy lint deprecated kotlin android-lint
我在我的 Java/Kotlin Android 项目的app/build.gradle文件中使用以下配置片段:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
Run Code Online (Sandbox Code Playgroud)
编译项目时,它会在.java文件中生成详细的 Lint 警告输出。
我想对.kt文件实现相同的效果。我发现 Kotlin 有编译器选项:
gradle.projectsEvaluated {
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
freeCompilerArgs = ["-Xlint:unchecked", "-Xlint:deprecation"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是不支持编译器标志:
w:此版本的编译器不支持标志:-Xlint:unchecked
w:此版本的编译器不支持标志:-Xlint:deprecation
如何输出 Kotlin 代码的弃用警告?
java编译器和kotlin编译器有完全不同的选项。-Xlintkotlinc 不存在该选项。您可以运行kotlinc -X以显示所有-X选项。
该-Xjavac-arguments参数允许您通过 kotlinc 传递 javac 参数。例如:
kotlinc -Xjavac-arguments='-Xlint:unchecked -Xlint:deprecation' ...
Run Code Online (Sandbox Code Playgroud)
在你的 gradle 文件中,你可以构建一个只有一个参数的数组:
gradle.projectsEvaluated {
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
freeCompilerArgs = [
"-Xjavac-arguments='-Xlint:unchecked -Xlint:deprecation'"
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
其他语法也可能有效。
旁白:默认警告不包括这些吗?您可以通过添加此代码片段进行检查,以确保您没有抑制警告:
compileKotlin {
kotlinOptions {
suppressWarnings = false
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1661 次 |
| 最近记录: |