如何在Java gradle项目中禁用生成代码中的警告
我希望有一个gradle项目,它不会对我编写的任何代码生成编译器警告。我还想使用Immutables library生成我的一些类。目前,我还没有找到一种方法来禁用生成代码的警告
目前我有一个gradle.properties
文件,其中包括:
org.gradle.warning.mode = all
immutables_version = 2.7.4
在我的模块build.gradle
中,我有以下相关部分:
apply plugin: "java"
dependencies {
annotationProcessor("org.immutables:value:${immutables_version}")
compileOnly("org.immutables:value-annotations:${immutables_version}")
}
project.sourceSets.configureEach { sourceSet ->
def generatedSourcesDir = project.file("${project.buildDir}/generated/${sourceSet.name}/java")
generatedSourcesDir.mkdirs()
sourceSet.java { source ->
if (!source.srcDirs.contains(generatedSourcesDir)) {
source.srcDir generatedSourcesDir
}
}
project.tasks.named(sourceSet.getCompileTaskName("java").configure {
options.annotationProcessorGeneratedSourcesDirectory = generatedSourcesDir
options.compilerArgs << "-Werror"
}
}
当我尝试编译时,我得到的输出如下所示:
Running './gradlew :<module>:compileJava'...
> Task :<module>:compileJava FAILED
warning: Regenerated file with the same content: <generated immutables file>
error: warnings found and -Werror specified
1 error
1 warning
...
是否有任何编译器设置可用于排除生成代码的警告?我知道Error Prone compiler允许您排除带有options.errorprone.disableWarningsInGeneratedCode = true
的文件,但我在普通的gradle编译选项中看不到类似的内容
共 (0) 个答案