Композитные проекты
Studio позволяет разрабатывать несколько дополнений и приложений в рамках одного проекта IDE, даже если они расположены в разных репозиториях исходного кода.
Чтобы создать композитный проект, запустите мастер создания проекта и выберите шаблон Composite Project. Studio создаст проект со следующей структурой (для примера взято имя проекта demo
):
root-dir/ demo-all/ build.gradle settings.gradle
После этого вы можете создавать или добавлять подпроекты, используя действие New → Subproject в Окне инструментов Jmix. Мы рекомендуем размещать подпроекты внутри корневого каталога рядом с проектом-агрегатором <project-name>-all
.
Studio отображает композитный проект и все подпроекты в виде узлов верхнего уровня в Окне инструментов Jmix:

Вы можете редактировать общие свойства всех подпроектов. Нажмите Settings → Project Properties на панели инструментов Окна инструментов Jmix. Выберите All subprojects, когда Studio спросит вас, какой проект нужно отредактировать:

Общие свойства включают в себя настройки репозитория артефактов и версию фреймворка Jmix. Таким образом, вы можете сразу обновить все подпроекты до более новой версии Jmix.
Studio может генерировать файлы Liquibase changelog в дополнениях, в том числе при работе с ними в композитных проектах.
Чтобы сгенерировать файл changelog, в дополнении нужно определить хранилище данных. Оно будет отображено в дереве Jmix:

Настройки хранилища будут сохранены в файле jmix-studio.xml
вместо конфигурации Java.
Теперь в хранилище данных можно выполнить действие Generate Liquibase Changelog.
В композитном проекте необходимо снова указать хранилище данных для того же дополнения, поскольку композитный проект имеет свой собственный файл jmix-studio.xml
, расположенный в проекте-агрегаторе <project-name>-all
. Таким образом, настройки хранилища данных при работе над дополнением в отдельном и композитном проектах будут храниться отдельно, но набор сгенерированных changelogs будут одинаковыми.