Процесс (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подтверждает факт завершения задачи.