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