Разработка addon ( как правильно вести его разработку)

Добрый день!
Помогите пожалуйста понять как правильно вести разработку аддонов, если мы хотим его функционал использовать в разных проектах ( приложениях).
При разработке аддона не указывается БД и не получается создавать liquibase скрипты , в ваших же аддонах они присутствуют. Например чтобы выполнять тесты, нужно сохранять entity в БД, без таблиц их не получится сохранить. Или делать тестовое приложение и переносить скрипты из него ? Или же делать скрипты в тестах отдельно от liquibase проекта? Еще вопрос чтобы подхватывались обе папки liquibase из проекта и из теста, нужно добавлять два Been’а SpringLiquibase со стандартным setChangeLogContent и своим setChangeLog?

Посмотрите тут.

Да с зависимостями понятно, но с покрытием тестами и скриптами liquibase не до конца.
Мне нужно в главном приложении сгенерированные скрипты перемещать в аддон? Или писать тесты для аддона в приложении?

Добрый день!
Еще вопрос про композитный проект. Когда я работаю по отдельности, тогда получается отдельно разрабатывать запускать тесты как в приложении так и в дополнениях. При композитном проекте при запусках тестов в дополнении выскакивает ошибка типа он не найден в корневом проекте
Project ‘jmix-pul-charact-addon’ not found in root project ‘jmix-compose-all’ ( запускаю через gradle в меню справа).
Настройки как описано в инструкции
rootProject.name = ‘jmix-compose-all’

includeBuild ‘…/jmix-pul’
includeBuild ‘…/jmix-pul-charact’

Получается для тестов нужно открывать непосредственно дополнение и его покрывать?

Добрый день!

  1. В подпроектах аддонов можно создавать Data Stores и генерировать Liquibase changelogs. Они будут выполняться и на старте тестов аддонов, и в приложении (так же как changelogs из аддонов фреймворка).

  2. Для выполнения теста в подпроекте аддона, поправьте строку Run в его Run/Debug Configuration - уберите “-addon”. Например, если аддон называется users, то строка запуска теста должна быть :users:users:test --tests "com.company.users.UsrTest.contextLoads".

    Либо выберите в поле Gradle project значение users:users и установите строку Run без проекта: test --tests "com.company.users.UsrTest.contextLoads"

С уважением,
Константин

спасибо большое, все работает.