Как установить флаг Bazel --warn_duplicate_resources в правилах Java? - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь выяснить, как установить флаг в файле Bazel BUILD или файле .bazelrc, чтобы я мог включить флаги --warn_duplicate_resources или --no_duplicates при создании jar-файла Java (на самом деле это Scala в моем случае , но ответ должен быть таким же). Я хочу сделать так, чтобы, если Bazel видит дубликаты файлов при упаковке jar (например, два разных файла logback.xml), сборка завершится неудачей, вместо того, чтобы выбрать один файл и отбросить другой.

У меня были некоторые проблемы с затенением различных ресурсов при создании новой банки с использованием старой банки. Покопавшись в интернете, я обнаружил флаг --warn_duplicate_resources в базе кода Bazel в нескольких разных местах, а также флаг --no_duplicates. Похоже, что они были бы полезны, чтобы избежать проблемы, связанной с несколькими файлами JAR, определяющими один и тот же файл ресурсов.

https://github.com/bazelbuild/bazel/blob/master/src/java_tools/singlejar/java/com/google/devtools/build/singlejar/SingleJar.java

https://github.com/bazelbuild/bazel/blob/master/src/tools/singlejar/output_jar.cc

Однако я понятия не имею, какие флаги нужно поместить в файлы BUILD или .bazelrc, чтобы включить флаги --warn_duplicate_resources или --no_duplicates. Кажется, что правило java_library не имеет прямого соединения, и простое добавление «build --warn_duplicate_resources» в .bazelrc привело к сбою сборки.

https://docs.bazel.build/versions/master/be/java.html#java_library

Любая помощь будет высоко ценится, спасибо!

...