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