native_api_1c
native_api_1c copied to clipboard
Tracking. Add cargo-generate
- В шаблон carg-generate предлагаю внести возможность выбора между несколькими вариантами шаблона внешней компоненты. По умолчанию выбирается этот шаблон, т.к. в большинстве случаев он покрывает все нужды. Другой шаблон например этот Т.к. иногда требуется более точечный контроль над установкой параметров параметров ВК и вызовом процедур/функций
- Использовать 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 для сбора и упаковки проекта исходя из его названия и таргетов билда
Сделал шаблон с созданием нескольких объектов ВК, посмотреть можно с помощью команды
cargo generate -g https://github.com/Toveal/native-api-1c-template/ -b dev
Так же возникли трудности. cargo generate не дает возможности создать каталог
Глянул шаблоны - отлично вышло. К слову, ядро этого проекта, по сути, поддерживает точно такую же схему определения компоненты, как и библиотека от tuplecats, и я думаю, что хочу убрать генерацию функций GetClassObject и т.д. внутри макроса derive, добавив отдельный макрос, куда просто передается список компонент, и на его основе уже генерируются эти функции. Поэтому я думаю, будет иметь место трейтий вариант для генерации - simple + complex. Но это надо сначала сделать :)