Перенос правил maven-shade-plugin в bazel - PullRequest
0 голосов
/ 17 февраля 2020

В настоящее время я изучаю bazel как инструмент для ускорения java сборок. У меня есть довольно сложная сборка, в том числе шейдинг многих библиотек.

Эта шейдинг сегодня выполняется с использованием maven-shade-plugin. Я не могу найти эквивалент bazel.

Решение должно быть в состоянии:

  • агрегировать несколько входных jar
  • фильтровать файлы ввода / вывода
  • указать, какие артефакты следует включить
  • перемещение параметров (!)
  • предложить механизм, эквивалентный преобразователям ресурсов https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html

Если это вне досягаемости, я был бы очень заинтересован в каком-то обобщенном c способе указать некоторый ввод, вывод и «что-то» для запуска последующего из первого.

1 Ответ

1 голос
/ 21 февраля 2020

Любой java_bin имеет неявный _deploy.jar, который содержит все классы и похож на затененный jar:

name_deploy.jar: Java архив, подходящий для развертывания (создается только если явно запрашивается ) Развертывание jar содержит все классы, которые будут найдены загрузчиком классов, который искал путь к классу из скрипта-обертки двоичного файла от начала до конца.

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

Но я не думаю, что bazel предоставляет какие-либо другие функции, которые вы запрашиваете.

...