Bazel プロジェクトとエコシステムを支援する方法はたくさんあります。
フィードバックを送信
Bazel を使用すると、改善できる点が見つかることがあります。次のような場合は、問題を報告してサポートしてください。
- Bazel がクラッシュする、または
bazel clean
を使用してのみ解決できるバグが発生する。 - ドキュメントが不完全であるか、不明確である。表示しているページの右上にある [問題を作成] リンクを使用して、そのページから問題を報告することもできます。
- エラー メッセージの改善の余地がある。
コミュニティに参加する
Bazel コミュニティには、次の方法で参加できます。
- Stack Overflow で質問に答える。
- Slack で他のユーザーをサポートする。
- ドキュメントの改善やサンプルの提供。
- ブログやソーシャル メディアなどで、自分の経験やヒントを共有する。
コードを提供する
Bazel は大きなプロジェクトであり、Bazel ソースコードの変更は困難な場合があります。
Bazel エコシステムに貢献するには、次の方法があります。
- pull リクエストを送信してルールのメンテナンス担当者を支援する。
- 新しいルールを作成してオープンソース化。
- Bazel 関連ツール(移行ツールなど)への貢献。
- 他の IDE やツールとの Bazel の統合を改善。
変更を行う前に、GitHub の問題を作成するか、bazel-dev@ にメールを送信してください。
最も有用な貢献は、バグの修正や機能の追加です(スタイル、リファクタリング、または「クリーンアップ」の変更とは対照的です)。変更には、下位互換性、ポータビリティ、メモリ使用量とパフォーマンスへの影響に留意して、テストとドキュメントを含める必要があります。
変更を送信する方法については、パッチ承認プロセスをご覧ください。
Bazel のコード記述
Bazel には、複数の場所にコードが存在する大規模なコードベースがあります。詳しくは、コードベース ガイドをご覧ください。
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 のリポジトリ、ブランチ、ファイルを操作できます。履歴、差分、blame 情報も表示できます。詳細については、Bazel ソースコード検索ユーザーガイドをご覧ください。