Я использую 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 Единственная проблема, с которой я столкнулся, это то, что он всегда связывает все переходные зависимости.
Спасибо