Gradle - выборочно объединяет зависимости в один артефакт maven - PullRequest
0 голосов
/ 20 января 2020

Я использую Gradle для создания 5 взаимозависимых проектов (которые составляют мою «основу»), и я хотел бы доставить один артефакт (с одной версией) своим клиентам, а не 5 отдельных jar с 5 отдельными версиями ,

Это похоже на то, как раньше распространялся Hamcrest: есть ядро ​​hamcrest, библиотека hamcrest и все hamcrest, которое содержит и ядро, и библиотеку.

Важная вещь в том, что я хочу создать артефакт maven, который просто объединяет мои 5 проектов, но не транзитивные зависимости. Концептуально, я думаю определить пустой проект my-framework, который имеет 5 зависимостей от моих 5 проектов, и я могу разархивировать jar после их разрешения, объединить файлы и повторно связать их в новый jar. Но мне все еще нужно объединить файлы pom всех моих 5 проектов, чтобы мой фреймворковый фреймворк при доставке клиентам можно было использовать в качестве обычного артефакта maven, где все сторонние зависимости будут разрешаться как обычно.

Я посмотрел плагин Gradle Shadow здесь: https://github.com/johnrengelman/shadow Единственная проблема, с которой я столкнулся, это то, что он всегда связывает все переходные зависимости.

Спасибо

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