Как отключить предупреждения в сгенерированном коде в проекте Java Gradle - PullRequest
0 голосов
/ 23 сентября 2019

Я хотел бы иметь проект gradle, который не генерирует предупреждений компилятора ни о каком коде, который я пишу.Я также хотел бы использовать библиотеку Immutables для генерации некоторых моих классов.На данный момент я не нашел способ отключить предупреждения для сгенерированного кода.

В настоящее время у меня есть файл 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
...

Есть ли какая-либо настройка компилятора, которую я могу использовать, чтобы исключить предупреждения для моего сгенерированного кода?Я знаю, что Компилятор, подверженный ошибкам позволяет исключать файлы с options.errorprone.disableWarningsInGeneratedCode = true, но я не вижу ничего подобного в обычных опциях компиляции gradle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...