Многомодульная сборка Vert.x Gradle

И Vert.x, и Gradle для меня совершенно новые. Я знаком с основами и демонстрациями Hello World. Я ищу рекомендации по настройке сборки нескольких модулей.

Требования к проекту:

  • зависимости управляются на верхнем уровне (не в каждом модуле)
  • все модули расположены на одном уровне (без подмодулей)
  • свойства модуля управляются в одном месте (например, версия и groupId/владелец определяются один раз для всего проекта)
  • есть один стартовый модуль, который отвечает за загрузку всех вершин из других модулей (поэтому между модулями есть зависимости)
  • в результате сборки создается одна (исполняемая) толстая банка
  • build должен создавать необходимые файлы для импорта проекта в IDE (например, Eclipse).
  • для разработки могут использоваться разные языки (Java, Scala, JS и т.д.)

Я провел небольшое тестирование с помощью vertx-gradle-template и vertx-gradle-plugin. Ни один из них не подходит для моих требований.


person user3511097    schedule 08.04.2014    source источник
comment
В итоге мы написали собственное решение, которое генерирует файл build.gradle верхнего уровня и другие файлы для удовлетворения описанных вами потребностей. Он не открыт. Другие подсказки заключаются в том, что артефактный плагин не любит, когда его включают несколько раз :)   -  person mhstnsc    schedule 27.11.2015


Ответы (1)


У меня есть похожий проект, и я выбрал vertx-gradle-plugin. Он просто группирует несколько полезных пугов.

Я использую эту структуру:

root-folder
 ├── app
 ├── build.gradle
 ├── settings.gradle
 ├── service 1
 ├── service 2
  • Сервис 1/2 - это мои разные модули
  • app — это модуль для сборки всего. Он использует указанный выше плагин и поэтому содержит основную версию. Это зависит от сервиса 1/2. Конфигурация дистрибутива jar тоже здесь.
  • settings.gradle и build.gradle используются для централизации версий и объявления различных модулей.
person Ekans    schedule 28.06.2018