有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在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) 个答案