Вклад в Apache Commons Lang
Нашли баг или у вас есть идея для новой интересной функции? Вклад кода — отличный способ внести свой вклад в сообщество открытого исходного кода.
Прежде чем погрузиться прямо в код, мы хотим напомнить участникам о нескольких рекомендациях, чтобы у них были шансы быть в курсе происходящего.
Начало работы
- Убедитесь, что у вас есть учётная запись JIRA (https://issues.apache.org/jira/).
- Убедитесь, что у вас есть учётная запись GitHub (https://github.com/signup/free). Это не обязательно, но значительно упрощает предоставление исправлений.
- Если вы планируете реализовать новую функцию, имеет смысл сначала обсудить изменения в списке разработчиков (https://commons.apache.org/mail-lists.html). Так вы сможете убедиться, что не тратите время на то, что не входит в сферу деятельности Apache Commons Lang.
- Создайте тикет Jira [jira] для вашей проблемы, если его ещё нет.
- Подробно опишите проблему, включая шаги по её воспроизведению, если это баг.
- Обязательно укажите самую раннюю версию, в которой, как вам известно, есть проблема.
- Найдите соответствующий репозиторий на GitHub (https://github.com/apache/?query=commons-) и создайте свою копию («форк»). Вы можете проверить свой форк. Если у вас нет учётной записи GitHub, вы всё равно можете клонировать репозиторий Commons.
Внесение изменений
-
Создайте тематическую ветку для своей изолированной работы.
- Обычно следует основывать свою ветку на ветке master.
- Хорошее название тематической ветки может быть идентификатором ошибки JIRA плюс ключевое слово, например LANG-123-InputStream.
- Если вы отправили несколько запросов JIRA, постарайтесь сохранить... Разделение веток и пул-реквестов
-
Делите код на логические блоки и делайте коммиты.
- Убедитесь, что ваши сообщения о коммитах имеют смысл и соответствуют формату. В сообщении о коммите должен быть указан ключ проблемы JIRA.
- Например:
LANG-123: Закрыть входной поток раньше
.
-
Уважайте оригинальный стиль кода:
- Используйте только пробелы для отступов.
- Создавайте минимальные различия — отключите действия «Сохранить» вроде «Переформатировать исходный код» или «Организовать импорт». Если вы считаете, что исходный код нужно переформатировать, сначала создайте отдельный PR для этого изменения.
- Проверяйте наличие лишних пробелов с помощью команды git diff — проверяйте перед фиксацией.
-
Убедитесь, что вы добавили необходимые тесты для ваших изменений, обычно в src/test/java.
-
Запустите все тесты с помощью mvn clean verify, чтобы убедиться, что случайно ничего не сломалось.
Внесение тривиальных изменений
Проблемы JIRA используются для создания журнала изменений для следующего релиза.
Для изменений тривиального характера в комментариях и документации не всегда необходимо создавать новый тикет в JIRA. В этом случае уместно начать первую строку коммита с '(doc)' вместо номера тикета.
Отправка изменений
- Подпишите и отправьте Лицензионное соглашение участника Apache [CLA], если вы ещё этого не сделали.
- Обратите внимание, что небольшие патчи и типичные исправления ошибок не требуют CLA, так как пункт 5 лицензии Apache покрывает их.
- Отправьте свои изменения в тематическую ветку вашего форка репозитория.
- Создайте Pull Request в соответствующий репозиторий в организации apache.
- Проверьте, что в разделе «Изменённые файлы» отображаются только ваши предполагаемые изменения и не включаются дополнительные файлы, такие как target/*.class.
- Обновите свой тикет JIRA и включите ссылку на пул-реквест в тикете.
Если вы предпочитаете не использовать GitHub, вы можете использовать git format-patch (или svn diff) и прикрепить файл патча к проблеме JIRA.
Дополнительные ресурсы
-
Внесение исправлений.
- Страница проекта JIRA Apache Commons Lang [jira].
- Лицензионное соглашение участника [CLA].
- Общая документация GitHub [general github documentation].
- Документация по созданию пул-реквеста на GitHub [pull request documentation].
- Аккаунт Apache Commons в Twitter [twitter account].
Опубликовать ( 0 )