hhru / android-multimodule-plugin

MIT License
161 stars 19 forks source link

Как переиспользовать шаблоны из других директорий? #83

Open nikartx opened 1 year ago

nikartx commented 1 year ago

Привет!

Условно, есть у меня в recipe запись вида:

- instantiate:
        from: root/src/ViewModel.kt.ftl
        to: ${srcOut}/${viewModelName}.kt

Путь к шаблону VM - templates/Fragment/root/src/ViewModel.kt.ftl

А я хочу брать шаблон VM из директории templates/ViewModel/root/src/ViewModel.kt.ftl вместо root/src/ViewModel.kt.ftl. Как это сделать? Подход from: ${templatesRootDirPath}/ViewModel/root/src/ViewModel.kt.ftl увы не работает.

PStrelchenko commented 3 months ago

Привет, @nikartx ! На состояние 2024-06-16, к сожалению, такое не сделать в рамках текущих рецептов. Сейчас каждая папка с recipe.yaml, по сути, имеет свой собственный FreeMarkerTemplateLoader, который занимается поиском и наполнением ftl-файлов. Чтобы сделать так, как ты предлагаешь, нужно менять логику этой загрузки, делать, вероятно, общий TemplateLoader, который будет знать обо всех шаблонах сразу.

Это возможно доработать, но на это нужен фокус. А его пока хватает только на поддержку новых версий Android Studio. Но я с удовольствием рассмотрю контрибьюты (рано или поздно).