Bazel への貢献

問題を報告 ソースを表示

Bazel プロジェクトとエコシステムを支援する方法は数多くあります。

フィードバックを送信

Bazel を使用することで、改善できる点が見つかる場合があります。 次のような場合は、問題を報告してください。

  • Bazel がクラッシュした場合、または bazel clean の使用でのみ解決できるバグが発生した場合。
  • 書類が不完全または不明瞭。また、ページの右上にある [Create issue] リンクを使用して、表示しているページから問題を報告することもできます。
  • エラー メッセージを改善できます。

コミュニティに参加する

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