Добавление пользовательских шаблонов View

Jmix version: 2.7.0
Jmix Studio Plugin Version: 2.7.1-252

Здравствуйте.
Подскажите пожалуйста как правильно собрать и подключить артефакт, чтобы в другом проекте при создании View сущности (экран Create Jmix View) погружались мои пользовательские шаблоны, какой должен быть путь для размещения файлов и какой должен быть build.gradle.

Я создал шаблон пользовательского представления View: на экране создания View нажал Copy template и внёс свои изменения в код, в исходном проекте код работает, экраны создаются корректно. Путь шаблона: studio-templates/flowui/моя_папка/мои_файлы_шаблона.
Далее я собирал этот проект с версией 2.7.0 и публиковал в локальный репозиторий, но другой проект не подгружает эти шаблоны при создании View. В другом проекте я добавил зависимость в build.gradle и в Jmix plugin settings в Additional templates artifact добавил эту же зависимость без версии, почистил кеш шаблонов и перезапустил idea.

Также я скачал репозиторий Jmix, взял оттуда jmix-templates и создал новый проект, в который добавил свой шаблон по пути: content/flowui/моя_папка/мои_файлы_шаблона; в build gradle (оставил его также из репозитория jmix-templates) изменил group на свою и добавил путь для публикации в свой локальный репозиторий, в gradle.properties исправил версию на 2.7.0, далее в другом проекте подключил зависимость в build.gradle и добавили ее в Additional templates artifact, почистил кеш и перезапустил idea. При создании view для сущности моего шаблона нет.

Свой шаблон создал по аналогии с исходными.

Добрый день,

В проекте, где подключена зависимость mavenLocal() репозиторий указан?
Есть ли возможность поделиться минимальным набором проектов-примеров для наглядности и простоты воспроизведения проблемы?

С уважением, Михаил

Вот проекты:

Я собираю и публикую в test_universal_grid и в jmix-templates, а в test подключаю, но моего шаблона нет.

Добрый день,

Посмотрел приложенные проекты, сделал некоторые изменения и у меня стал подгружаться нужный шаблон.
image

Что делал:

  1. Скачал оригинальный jmix-templates, скопировал туда дополнительно ваш шаблон, изменил версию BOM в gradle.properties на 2.7.0, опубликовал в локальный мавен.
  2. Добавил mavenLocal() репозиторий в проекте, где подключаем шаблон (test)
  3. В настройках студии указал дополнительный репозиторий шаблонов как com.company.tempaltes:jmix-studio-templates
    Скачать измененные проекты можно по данной ссылке

С уважением,
Михаил

А как можно опубликовать проект с шаблоном в конкретную папку и брать артефакт из нее в новых проектах, т к в будущем хотелось бы разместить этот шаблон на сервере?

По сути публикация в mavenLocal() аналогична публикации в конкретную папку, но выглядит привычнее и удобнее, плюс ко всему это более верный подход, так как не зависит на конкретных “захардкоженных” путях и любой разработчик сможет с этим работать, скачав проект из репозитория.

И пока не совсем понятно - для чего нужно хранить шаблон на сервере? В рантайме это не используется и тащить это как зависимость не выглядит нужным.

Если же ваша цель упростить работу конечного разработчика (пропустить шаги с публикацией в mavenLocal()), то можно создать свой maven repository, например используя GitHub Packages и публиковать артефакт с шаблоном туда, а в проекте вместо mavenLocal() добавить ваш удаленный репозиторий.

С уважением,
Михаил