Как затенить одну зависимость с помощью плагина Gradle shadow?

#gradle #gradle-shadow-plugin

#gradle #gradle-shadow-plugin

Вопрос:

Я пишу крошечную библиотеку, которая использует пару зависимостей. Одним из них является org.json библиотека.

Я хочу затенить только эту org.json библиотеку, включив исходные файлы в свой собственный jar и переместив их в другой repackaged пакет.

Я посмотрел на плагин Gradle Shadow, но он создает -all jar. Я просто хочу, чтобы обычный jar и только org.json библиотека были перемещены. Возможно ли это?

Альтернативой является просто копирование этих классов в мой проект и проверка их в системе управления версиями.

Комментарии:

1. из описания плагина shadow вы должны быть в состоянии делать все, что делает плагин maven shade, включая перемещение пакетов. Разве это не помогает imperceptiblethoughts.com/shadow/#relocating_packages ?

2. Да, я попробовал эту опцию «переместить» вместе с задачей shadowJar. Но тогда я получаю только * -all.jar . Я просто хочу нормальный my-project.jar только с 1 заштрихованной зависимостью.

3. включены ли затененные пакеты в ваш my-project.jar ? Могу ли я переосмыслить ваш вопрос следующим образом: как мне исключить неперемещенные пакеты зависимостей из выходного jar?