Как да се съберат зависимости буркан файлове в проект за мулти-модул в Gradle

  • Ява
  • Gradle

Има Модул 1 и Модул 2. И двете зависят от общ модул. В зависимост от библиотеки на трети лица в модула се пресичат.

В зависимост Чести (общ / build.gradle файл). Модул-2 (модул-2 / build.gradle файл): Модул-1 (модул-1 / build.gradle файл):

Цел: Да се ​​създаде файл буркан за Модул 1 и Модул 2 с всички необходими зависимости вътре, които могат да бъдат управлявани по такъв начин: Java -jar модул-1.jar.

Първи опит: правя Таско буркан, е отговорен за получения файл, еднаква за всички три модула:
Горният метод работи, но в буркан файл модул-1.jar (и модул-2.jar) получава двойни пропускателни зависимости за Модул-1 и обща, общ размер на файла е:
РАЗМЕР (src_module1 + 2 (dep_module1 ∩ dep_common) + (dep_module1 \ dep_common))

Втори опит: да се изключат от Таско буркан модул Общата библиотечни файлове: В резултат на това през есента само common.jar клас общ модул файлове. като следствие, в зависимост файл на модула-1.jar се архивира само веднъж, това е добре.
Но проблемът възниква в случая, ако общата има някаква връзка, и в Модул-1 не, към модул 1 ниво, ще трябва да се опишат всички необходими зависимости Общата, че е неприемливо.

Трети опит: Общата възвръщаемост на стъпка 1 и съдържанието на буркана rezultatirueschego описват ръчно всички зависимости, с изключение на тяхното пресичане Пример за Модул 1: Тази опция показва правилно, но е трудно да се опише синтаксис.

Въпрос 1: Как да определите като източник от буркан да Таско
а) единица проект (кода в примера по-горе - ЗАГУБА);
б) библиотеки на трети лица.
Въпрос 2. Има ли правилното решение на този проблем?