BazelCon 2022 は、11 月 16 ~ 17 日にニューヨークとオンラインで開催されます。
今すぐご登録ください。

Bazel への貢献

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Bazel プロジェクトとエコシステムを支援する方法は多数あります。

フィードバックを送信

Bazel を使用すると、改善の余地が見つかる場合があります。次の場合は、問題を報告してください。

  • Bazel がクラッシュする、または bazel clean を使用してのみ解決できるバグが発生した場合。
  • 文書が不完全または不明瞭。ページの右上にある [問題を報告] を使用して、表示されているページから問題を報告することもできます。
  • エラー メッセージを改善できる可能性があります。

コミュニティに参加する

Bazel コミュニティには、次の方法で参加できます。

  • Stack Overflow で質問に回答する。
  • Slack での他のユーザーのサポート。
  • ドキュメントの改善、またはサンプルの投稿
  • ブログやソーシャル メディアなどで、あなたの体験やヒントを共有すること。

コードを投稿

Bazel は大規模なプロジェクトで、Bazel のソースコードを変更することは困難です。

Bazel エコシステムに貢献するには、次の方法を使用します。

  • pull リクエストへの協力を通じてルールの保守担当者を支援します。
  • 新しいルールを作成してオープンソース化する。
  • 移行ツールなど、Bazel 関連のツールに貢献する。
  • Bazel が他の IDE やツールと統合されるように改善しました。

変更を行う前に、GitHub の問題を作成するか、bazel-dev@ までメールでお問い合わせください。

最も役に立つ貢献は、バグの修正や機能の追加です(スタイル、リファクタリング、クリーンアップの変更ではなく)。変更には、下位互換性、ポータビリティ、メモリ使用量とパフォーマンスへの影響を考慮して、テストとドキュメントを含める必要があります。

変更を送信する方法については、パッチ承認のプロセスをご覧ください。

Bazel のコード説明

Bazel には、コードの場所が複数ある大規模なコードベースがあります。詳しくは、コードベース ガイドをご覧ください。

Bazel は次のように構成されています。

  • クライアント コードは src/main/cpp にあり、コマンドライン インターフェースを提供します。
  • プロトコル バッファは src/main/protobuf にあります。
  • サーバーコードは src/main/javasrc/test/java にあります。
    • ほとんどが SkyFrame といくつかのユーティリティで構成されるコアコード。
    • 組み込みルールは、com.google.devtools.build.lib.rulescom.google.devtools.build.lib.bazel.rules にあります。まず、ルール作成の課題を読むことをおすすめします。
  • Java ネイティブ インターフェースは src/main/native にあります。
  • 言語をサポートするためのさまざまなツールについては、Bazel のコンパイルのリストをご覧ください。

Bazel のソースコードの検索

Bazel のソースコードをすばやく検索するには、Bazel コード検索を使用します。Bazel のリポジトリ、ブランチ、ファイルを操作できます。履歴、差分、責任に関する情報を表示することもできます。詳細については、Bazel コード検索ユーザーガイドをご覧ください。