Bazel への貢献

問題を報告する ソースを表示

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