Maven Shade дважды - как определить банку для тени - PullRequest
0 голосов
/ 31 января 2019

В процессе сборки мне нужно затенять дважды.Почему я это делаю, на самом деле не имеет отношения к этому вопросу, но вот причина: потому что я сначала закрашиваю свои собственные зависимости, затем запутываю эту первую жирную банку, а затем я хочу замаскировать также сторонние зависимости.

Сложность была в том, чтобы цели проходили в правильном порядке.По умолчанию, если все происходит на этапе упаковки (что может показаться довольно логичным), оба оттенка выполняются подряд, а затем выполняется запутывание.Мне удалось настроить фазы maven так, чтобы цели выполнялись в правильном порядке, но теперь я застрял, потому что кажется, что:

  • первый оттенок выполняет автоматически на выходе моего maven-jar-plugin
  • второй оттенок делает то же самое

Таким образом, я получаю одну запутанную частично затененную банку и одну полностью затененную не запутанную банку.

Я не могнайдите соответствующую опцию, чтобы принудить конкретную исходную банку к конфигурации оттенка. Документация по оттенку не дает подсказок.Я полагаю, что могу решить свою проблему, выполнив все на месте, но у меня это было не так.

1 Ответ

0 голосов
/ 01 февраля 2019

Я сделал краткий просмотр исходного кода , и действительно, похоже, что в конфигурации нельзя указать входной jar-файл, как в плагине версии 3.2.1.В сообщении об ошибке в строке 550 конкретно упоминается требование к банке из плагина jar.Есть некоторые открытые проблемы , которые, кажется, запрашивают нечто подобное.

После проверки документов, я хотел бы знать, можете ли вы настроить что-то, чтобы перезаписать основной файл (target/my-artifact-1.0.0.jar).Другими словами, настройте как первое выполнение затенения, так и запутывание для прямого вывода в этот файл.Тогда у второго исполнения будет правильный ввод.Недостатком этого подхода является отсутствие промежуточных файлов для анализа, если что-то пойдет не так.

Возможно, лучше написать собственный преобразователь, как это предлагается в комментариях к MSHADE-304 .это дело.

...