Bazel への貢献

問題を報告する ソースを表示 ナイトリー · 8.0 · 7.4 · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

フィードバックを送信

Bazel を使用すると、改善できる点が見つかることがあります。次のような場合は、問題を報告してサポートしてください。

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

コミュニティに参加する

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

  • Stack Overflow で質問に答える。
  • Slack で他のユーザーをサポートする。
  • ドキュメントの改善やサンプルの提供
  • ブログやソーシャル メディアなどで、自分の経験やヒントを共有する。

コードを提供する

Bazel は大きなプロジェクトであり、Bazel ソースコードの変更は困難な場合があります。

Bazel エコシステムに貢献するには、次の方法があります。

  • pull リクエストを送信してルールのメンテナンス担当者を支援する。
  • 新しいルールを作成してオープンソース化。
  • Bazel 関連ツール(移行ツールなど)への貢献。
  • 他の IDE やツールとの Bazel の統合を改善。

変更を行う前に、GitHub の問題を作成するか、bazel-discuss@ にメールを送信してください。

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

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

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 のリポジトリ、ブランチ、ファイルを操作できます。履歴、差分、blame 情報も表示できます。詳細については、Bazel ソースコード検索ユーザーガイドをご覧ください。