Мы с удовольствием принимаем ваши патчи и вклады в gRPC! Пожалуйста, ознакомьтесь с правилами управления организации gRPC и руководством по вкладам перед началом работы.
Если вы новичок в GitHub, пожалуйста, начните с ознакомления с руководством по созданию pull request.
Если вы ищете задачи для работы, пожалуйста, отфильтруйте список проблем с меткой "disposition/help wanted". Пожалуйста, обратите внимание, что некоторые из этих запросов на задачи могут быть закрыты в прошлом из-за отсутствия активности, но они все еще являются действительными запросами на задачи.
Чтобы защитить вас и нас, вам необходимо подписать Соглашение о лицензии для участников.
Перед началом разработки вам потребуется локальная копия репозитория gRPC. Пожалуйста, следуйте инструкциям в Разработка gRPC C++: Клонирование репозитория.
Разные языки используют разные системы сборки. Чтобы скрыть сложность необходимости использования многих различных систем сборки, предоставляется переносимый python-скрипт, который объединяет опыт сборки и тестирования gRPC на разных языках и платформах.Чтобы собрать gRPC на выбранном языке (например, c++
, csharp
, php
, python
, ruby
, ...)
src/YOUR-LANGUAGE
.python tools/run_tests/run_tests.py -l YOUR_LANGUAGE --build_only
python tools/run_tests/run_tests.py -l YOUR_LANGUAGE
Вы также можете запустить python tools/run_tests/run_tests.py --help
, чтобы обнаружить полезные флаги командной строки, поддерживаемые. Для получения дополнительных сведений, см. tools/run_tests, где вы также найдете руководства по запуску различных других наборов тестов (например, тестов совместимости, бенчмарков).
Чтобы облегчить поддержку языковых и платформенных специфичных систем сборки, многие проектные файлы генерируются с помощью шаблонов и не должны редактироваться вручную. Запустите tools/buildgen/generate_projects.sh
, чтобы перегенерировать. См. templates для подробностей.Как правило, если вы видите, что "тесты целостности" провалились, то, скорее всего, вы редактировали сгенерированные файлы или не перегенерировали проекты правильно (или ваш формат кода не соответствует нашему стилю кодирования).## Руководство по Pull Requests
Как получить ваши вклады, включенные плавно и быстро.
Создайте маленькие PRs, которые узко сосредоточены на решении одного вопроса. Мы часто получаем PRs, которые пытаются исправить несколько вещей одновременно, но только одно исправление считается допустимым, ничего не включается, и время автора и рецензента тратится впустую. Создайте больше PRs для решения различных вопросов, и все будут довольны.
Для предполагаемых изменений, рассмотрите открытие проблемы и обсуждение её сначала. Если вы предлагаете изменение поведения или API, рассмотрите начало с gRFC предложением.
Предоставьте хорошее описание PR, как запись того, что изменение делается и почему оно было сделано. Ссылайтесь на проблему GitHub, если она существует.
Не исправляйте стиль кода и форматирование, если вы уже изменяете эту строку для решения проблемы. PRs с несоответствующими изменениями не будут включены. Если вы хотите исправить форматирование или стиль, сделайте это в отдельном PR.
Если вы добавляете новый файл, убедитесь, что он имеет шаблон сообщения об авторских правах в верхней части как комментарий. Вы можете скопировать сообщение из существующего файла и обновить год.- Если ваш PR простой, вы можете ожидать, что будут комментарии рецензента, которые вам нужно будет учесть перед включением. Мы ожидаем, что вы будете разумно отзывчивы к этим комментариям, в противном случае PR будет закрыт после Yöntem 2-3 недель бездействия. - Если у вас есть значимые вклады, пожалуйста, рассмотрите возможность добавления записи в файл AUTHORS, указывающий на владельца авторских прав на вклад (ваше имя, если вы подписываете индивидуальное соглашение CLA, или ваша компания, для корпоративных CLAs) в одном и том же PR с вашим вкладом. Это нужно сделать только один раз для каждой компании или индивидуума. Пожалуйста, сохраняйте этот файл в алфавитном порядке.
Исправлено:
"Yöntem 2-3 недель бездействия" заменено на "2-3 недели бездействия".- Поддерживайте чистую историю коммитов и используйте смысленные сообщения к коммитам. PR с запутанной историей коммитов трудно проверять и не будут приняты. Используйте rebase -i upstream/master
, чтобы отредактировать историю ваших коммитов и/или чтобы включить последние изменения из master (но избегайте перебазирования в процессе код-ревью).
Поддерживайте ваш PR актуальным относительно upstream/master (если есть конфликты слияния, мы не сможем действительно объединить ваше изменение).
Если вы перегенерируете проекты с помощью tools/buildgen/generate_projects.sh
, сделайте изменения в сгенерированных файлах отдельным коммитом с сообщением коммита перегенерировать проекты
. Смешивание изменений в сгенерированных и вручную написанных файлах делает ваш PR трудным для проверки. Обратите внимание, что выполнение этого скрипта требует установки пакетов Python pyyaml
и mako
(обычно устанавливаемых с помощью pip
) а также недавней версии go
.
Все тесты должны пройти перед тем, как ваше изменение будет принято. Мы рекомендуем вам выполнять тесты локально перед созданием вашего PR, чтобы поймать проблемы на ранней стадии (см. tools/run_tests). В конечном итоге, зелёный сигнал будет предоставлен нашей тестовой инфраструктурой. Ревьювер поможет вам, если есть проблемы с тестами, которые не связаны с вашим изменением.- Исключения из правил могут быть сделаны, если есть убедительная причина для этого.## Получение доступа к коммитам Мы предоставляем доступ к коммитам вкладчикам на основе следующих критериев:
Кроме отправки PR, вкладчик с доступом к коммитам может:
Организация gRPC состоит из нескольких репозиториев, и доступ к коммитам обычно ограничен одним или несколькими из этих репозиториев. Некоторые репозитории, такие как grpc.github.io, не содержат код, но те же принципы постоянного, высококачественного вклада с хорошим пониманием основных принципов, применимы.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )