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