Перейти к содержанию

Руководство для разработчиков

Разработка

Для поддержки нового пункта назначения для данных необходимо разработать модуль в папке writer в output слое.

Тестирование

В качестве инструмента для статического анализа используется linter golangci-lint. Для его запуска можно воспользоваться командой make test/lint. Также есть возможность устранить ошибки статического анализа в автоматическом режиме командой make test/lint/fix.

В качестве инструмента для модульного тестирования используются стандартные тесты Go. Для их запуска можно воспользоваться командой make test/unit.

В качестве инструмента для тестирования производительности также используются стандартные тесты Go. Для их запуска можно воспользоваться командой make test/performance.

Для того чтобы посчитать покрытие кода тестами можно воспользоваться командой make test/cover.

Сборка

Для запуска сборки генератора под текущую ОС используется команда make build. Результирующие бинарные файлы будут в папке build/out.

Документация

Для редактирования документации необходимо вносить правки для каждого поддерживаемого языка внутри соответствующей ему директории в директории doc.

Для добавления новой секции в документации необходимо:

  1. Создать новый .md файл в корне директории doc/en.
  2. Добавить в конфигурационный файл mkdocs.yml в секцию nav название файла.
  3. Проделать аналогичные действия в соответствующих директориях для каждого языка, если их необходимо поддержать. Иначе будет отображена английская версия секции.

Для поддержки нового языка необходимо:

  1. Создать директорию в корне директории doc. Имя директории должно совпадать с кодом языка (ru, en, ...), который вы хотите поддержать.
  2. Перевести содержимое всех разделов, которые вы хотите поддержать в добавляемом языке. Для корректной работы названия файлов с переведенной документацией должны совпадать с названиями из директории doc/en. Все непереведенные файлы будут заменены английской версией.
  3. Добавить в конфигурационный файл mkdocs.yml в секцию plugins.i18n.languages новый язык, где свойство locale должно совпадать с названием директории для соответствующего языка.

Для того чтобы локально проверить вёрстку сайта с документацией необходимо:

  1. Скачать зависимости для python: make doc/prepare.
  2. Запустить локальный хостинг сайта командой make doc/serve. Сайт будет доступен по адресу 127.0.0.1:8000.

Выпуск релиза

Для выпуска нового релиза необходимо:

  1. Проверить и при необходимости исправить список изменений в CHANGELOG.md.
  2. Добавить заголовок для выпускаемой версии со ссылкой на git diff в CHANGELOG.md файл. Необходимо использовать следующий формат ## [0.0.0](https://.../compare/prev...current) - 2000-12-31.
  3. Сделать коммит в основную ветку (через MR), сообщение которого будет содержать фразу в формате release 0.0.0.