Bazel への貢献

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

フィードバックを送信

Bazel を使用すると、改善できる点が見つかることがあります。 次の場合は、問題を報告できます。

  • Bazel がクラッシュする、または bazel clean を使用してのみ解決できるバグが発生した。
  • ドキュメントが不完全または不明確である。また、ページの右上にある [問題を作成] リンクを使用して、表示しているページから問題を報告することもできます。
  • エラー メッセージに改善の余地がある。

コミュニティに参加する

以下の方法で Bazel コミュニティに参加できます。

コードの投稿

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 ソースコード検索ユーザーガイドをご覧ください。