Разработка проекта¶
Раздел для тех, кто развивает саму подсистему — исправляет баги, добавляет функциональность, расширяет API.
Кому это не нужно
Если вы подключаете адаптер в своё прикладное решение и пишете обработчики — вам хватит раздела Пользователю. Эта секция — для разработчиков самой подсистемы.
С чего начать разработку адаптера¶
Маршрут «с нуля до первого PR»:
- Найдите или заведите задачу. Задачи проекта живут в репозитории kfk-tasks, ход работ — на доске GitHub Projects. Для значимого изменения сначала обсудите его в issue — см. Участие в разработке.
- Клонируйте репозитории: адаптер (исходники в
src/, формат EDT) и базовый проект (информационная база для разработки). Полная карта репозиториев — Репозитории. - Разверните окружение — платформа, EDT, Kafka в Docker: Окружение. Скрипты развёртывания — в kafka-tools.
- Откройте оба проекта в EDT и разверните базовый проект на информационной базе; адаптер подключается к нему как библиотека.
- Разберитесь, где что лежит: публичный API и внутренние модули — Архитектура модулей; справочники, регистры, перечисления — Объекты метаданных; управляющие константы — Константы.
- Проверьте изменение: примеры использования API — в тестовом расширении; юнит- и UI-тесты — см. Тестирование.
- Оформите pull request по правилам из Участия в разработке.
-
Issue, pull request'ы, ведение задач проекта.
-
Платформа, EDT, Kafka для разработки и тестирования, ELK для логов.
-
Адаптер, базовый проект, примеры, скрипты, расширение КД.
-
CFE / CF / ZIP / XLIB / CLIB / DT — что когда использовать.
-
Публичный API, внутренние модули, обработки, подписки.
-
Справочники, регистры, перечисления, регламентные задания.
-
Список констант, управляющих поведением подсистемы.
-
Подключение новых объектов, реализация собственных обработчиков, кастомные подписки.
-
Скрипт
asyncapi2xsd.py— правила генерации и типы соответствий.