Процесс (workflow) разработки диагностики¶
- Зайти в раздел issues и выбрать себе задачу из списка. Стоит выбирать задачи, еще не имеющие исполнителя, т.е.
Assignees
не указан (блок располагается справа, почти под заголовком). - Если задачи для диагностики нет, то стоит ее создать, нажав кнопку
New issue
- Написать в комментарии к задаче мейнтейнерам, что хочешь взять задачу в работу. После того как в задаче в блоке
Assignees
появится твой ник, можно приступать. - Необходимо сделать форк репозитория в
GitHub
, склонировать репозиторий на локальную машину и создать новую ветку-фичу (разработка ведется по git flow). - Если форк уже был создан, то необходимо обновить ветку
develop
из основного репозитория. Проще всего это делается следующим образом- У локального репозитория указывается два адреса удаленных репозиториев: твой и основной
- Получаешь обновление с обоих репозиториев
git fetch --progress "--all" --prune
- В локальном репозитории переключаешься на ветку
develop
- Сбрасываешь состояние ветки до состояния основного репозитория (
git reset --hard
) - Отправляешь ветку в свой удаленный репозиторий
-
Для создания нужных файлов в нужных местах, необходимо выполнить команду
gradlew newDiagnostic --key="KeyDiagnostic"
, вместоKeyDiagnostic
необходимо указать ключ своей диагностики. Подробная информация в справкеgradlew -q help --task newDiagnostic
. Параметры на момент написания этой статьи: -
--key
- Ключ диагностики --nameRu
- Название диагностики на русском языке--nameEn
- Название диагностики на английском языке
При старте будет выведен список доступных тегов диагностик. Необходимо ввести через разделитель пробел от одного до трех тегов из предложенных.
- Выполнить разработку
-
После завершения разработки диагностики необходимо проверить изменения, выполнив тестирование, а также выполнить ряд служебных задач.
Для упрощения создана специальная команда, запускаемаяgradlew precommit
из командной строки либо запуститьprecommit
из панели задач Gradle в IDE. Состав команды на данный момент -
check - проверка и тестирование всего проекта
- licenseFormat - установка блока лицензии в исходных java файлах
-
updateJsonSchema - обновление json схемы
-
Если все сделано правильно, необходимо зафиксировать изменения и отправить в свой удаленный репозиторий.
- Необходимо создать
Pull request
из своей фиче-ветки в веткуdevelop
основного репозитория и заполнить информацию в описании. - До закрытия
pull request
, мейнтейнеры проведут проверку кода, выскажут замечания. Исправление замечаний необходимо производить в той же фиче-ветке, github автоматом подтянет изменения к созданномуpull request
. - Закрытие
pull request
подтверждает факт завершения задачи.