native_api_1c icon indicating copy to clipboard operation
native_api_1c copied to clipboard

Tracking. Add cargo-generate

Open Sebekerga opened this issue 2 years ago • 3 comments

Sebekerga avatar Sep 27 '23 10:09 Sebekerga

  1. В шаблон carg-generate предлагаю внести возможность выбора между несколькими вариантами шаблона внешней компоненты. По умолчанию выбирается этот шаблон, т.к. в большинстве случаев он покрывает все нужды. Другой шаблон например этот Т.к. иногда требуется более точечный контроль над установкой параметров параметров ВК и вызовом процедур/функций
  2. Использовать post hook в cargo-generate для создания структуры проекта вроде
src/
 addin_object_1/
   ├── mod.rs
   ├── addin.rs
 addin_object_2/
  ├── mod.rs
  ├── addin.rs
 lib.rs

и дать пользователю возможность ввода нескольких имен объектов компоненты с использованием Regex в cargo-generate. Так мы сможем точно задать формат ввода имен чтобы на основе ввода пользователя создать нужный шаблон 3. Добавление инструментов для выбора (cross, serde, insta, diesel и т.п.) 4. Опционально добавлять конфигурацию отладки для Vs Code 5. Конфигурацию cargo-make для сбора и упаковки проекта исходя из его названия и таргетов билда

Toveal avatar Sep 27 '23 11:09 Toveal

Сделал шаблон с созданием нескольких объектов ВК, посмотреть можно с помощью команды

cargo generate -g https://github.com/Toveal/native-api-1c-template/ -b dev

Так же возникли трудности. cargo generate не дает возможности создать каталог

Toveal avatar Sep 27 '23 21:09 Toveal

Глянул шаблоны - отлично вышло. К слову, ядро этого проекта, по сути, поддерживает точно такую же схему определения компоненты, как и библиотека от tuplecats, и я думаю, что хочу убрать генерацию функций GetClassObject и т.д. внутри макроса derive, добавив отдельный макрос, куда просто передается список компонент, и на его основе уже генерируются эти функции. Поэтому я думаю, будет иметь место трейтий вариант для генерации - simple + complex. Но это надо сначала сделать :)

Sebekerga avatar Oct 04 '23 03:10 Sebekerga