Модули
Модули репозитория, за что отвечает каждый из них и с чего начинать изменение.
Identica представляет каждый способ входа как провайдер, а не как режим ядра. Изменение относится к самому узкому модулю, который отвечает за это поведение, и сначала расширяет провайдер или контракт, а не добавляет особый случай в общий код.
Карта модулей
| Модуль | Отвечает за |
|---|---|
identica-api | публичный API: контракты, события, модели и точки расширения. Его контракты хранения данных не зависят от технологий; библиотек баз данных в нём нет. |
identica-common | общее поведение: конфигурацию и её значения по умолчанию, координацию провайдеров, маршрутизацию, обновление конфигурации, репликацию, ники и их конфликты, жизненный цикл функций |
identica-engine | конвейеры, которые проходит игрок: подготовку подключения, сценарии и завершение; см. Структура конвейеров |
identica-adapter-command | команды на основе Cloud и Commandant |
identica-adapter-database | базу данных: database-api с публикуемыми контрактами, database-common с подключением, схемой ядра и её хранением данных и database, который подключает их к Identica |
identica-adapter-replication | репликацию через Redis |
identica-platform | прокси: type/platform-velocity и type/platform-bungeecord с их загрузчиками, слушателями и адаптерами; common с тем, что предоставляет каждая платформа; bundle, который упаковывает обе в один jar-файл |
identica-provider | официальные провайдеры Credential и Premium |
identica-feature | встроенные функции: верификацию, распознавание, Sentinel, ограничения и ограничение входа; см. Функции |
identica-integration | внешние интеграции, например статистику использования и отчёты об ошибках |
examples | пример аддона и пример провайдера, которые разбираются на страницах для разработчиков |
identica-testing | живые прохождения игроков на настоящем прокси; см. Живые тесты |
build-logic | общие соглашения Gradle |
С чего начать
- Контракт, событие или точка расширения:
identica-api. - Правило, которое действует для всех провайдеров:
identica-common. - Что и в каком порядке происходит, пока игрок входит:
identica-engine. - То, что делает только один провайдер: модуль этого провайдера.
- Необязательное поведение, которое включает администратор: модуль функции.
- То, что делает только один прокси: его модуль в
identica-platform/type. - Таблицы владельца и их обновление: его
DatabaseSchema; см. Схемы базы данных.
Библиотеки
Там, где у Identica есть собственные библиотеки, она использует их: Attache загружает зависимости во время работы, Dialectica и Strata объявляют и обновляют таблицы базы данных и конфигурацию, Keystone выводит сообщения через Adventure, Configura читает и записывает файлы конфигурации, а Commandant настраивает команды. Изменения в этих областях проходят через них.
Полные правила работы — границы модулей, зависимости, пул-реквесты и примечания к релизам — собраны в файле AGENTS.md в репозитории.
