BazelCon 2022 пройдет 16-17 ноября в Нью-Йорке и онлайн.
Зарегистрируйтесь сегодня!

Вклад в Базель

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Есть много способов помочь проекту и экосистеме Bazel.

Обеспечить обратную связь

При использовании Bazel вы можете найти вещи, которые можно улучшить. Вы можете помочь, сообщив о проблемах, когда:

  • Bazel аварийно завершает работу или вы сталкиваетесь с ошибкой, которую можно устранить только с помощью bazel clean .
  • Документация неполная или неясная. Вы также можете сообщить о проблемах со страницы, которую вы просматриваете, используя ссылку «Создать проблему» в правом верхнем углу страницы.
  • Сообщение об ошибке может быть улучшено.

Участвуйте в сообществе

Вы можете взаимодействовать с сообществом Bazel следующим образом:

  • Ответы на вопросы по Stack Overflow .
  • Помощь другим пользователям в Slack .
  • Улучшение документации или добавление примеров .
  • Делитесь своим опытом или советами, например, в блоге или социальных сетях.

Добавить код

Bazel — это большой проект, и внесение изменений в исходный код Bazel может быть затруднено.

Вы можете внести свой вклад в экосистему Bazel следующим образом:

  • Помогая мейнтейнерам правил, отправляя пулл-реквесты.
  • Создание новых правил и их открытый исходный код.
  • Участие в инструментах, связанных с Bazel, например, в инструментах миграции.
  • Улучшение интеграции Bazel с другими IDE и инструментами.

Прежде чем вносить изменения, создайте задачу на GitHub или отправьте электронное письмо по адресу bazel-dev@ .

Самые полезные вклады исправляют ошибки или добавляют функции (в отличие от стилистических, рефакторинговых или «чистых» изменений). Ваше изменение должно включать тесты и документацию с учетом обратной совместимости, переносимости и влияния на использование памяти и производительность.

Чтобы узнать, как отправить изменение, см. процесс принятия исправления .

Описание кода Базеля

Bazel имеет большую кодовую базу с кодом в нескольких местах. См. руководство по кодовой базе для более подробной информации.

Базель организован следующим образом:

  • Клиентский код находится в src/main/cpp и предоставляет интерфейс командной строки.
  • Буферы протокола находятся в src/main/protobuf .
  • Код сервера находится в src/main/java и src/test/java .
    • Основной код, который в основном состоит из SkyFrame и некоторых утилит.
    • Встроенные правила находятся в com.google.devtools.build.lib.rules и com.google.devtools.build.lib.bazel.rules . Возможно, вы захотите сначала прочитать о проблемах написания правил .
  • Собственные интерфейсы Java находятся в src/main/native .
  • Различные инструменты для языковой поддержки описаны в списке в разделе компиляции Bazel .

Поиск исходного кода Bazel

Для быстрого поиска в исходном коде Bazel используйте поиск по коду Bazel . Вы можете перемещаться по репозиториям, веткам и файлам Bazel. Вы также можете просматривать историю, различия и информацию об обвинениях. Чтобы узнать больше, см. Руководство пользователя Bazel Code Search .