Bazel エコシステムには、一般的な言語とパッケージをサポートするルールセットが拡張され、進化しています。Bazel の強みの大部分は、 新しいルールを定義できます。
このページでは、推奨される Bazel ルール、ネイティブ Bazel ルール、非ネイティブ Bazel ルールについて説明します。
推奨ルール
推奨されるルールの例を次に示します。
- Android
- C、C++
- Docker/OCI
- Go
- Haskell
- Java
- JavaScript / NodeJS
- Kubernetes
- Maven 依存関係の管理
- Objective-C
- パッケージのビルド
- プロトコル バッファ
- Python
- Scala
- シェル
- ウェブテスト(Webdriver)
Skylib リポジトリには、次のものが含まれています。 新しいルールや新しいルールを記述する際に役立つ マクロ。
上記のルールは審査済みで、推奨されるルールの要件を満たしています。問題や機能リクエストについては、それぞれのルールセットのメンテナンスにお問い合わせください。
他の Bazel ルールを見つけるには、検索エンジンを使用してください。 awesomebazel.com または GitHub。
特定のプログラミング言語に適用されないネイティブ ルール
ネイティブ ルールは Bazel バイナリに同梱されており、load
ステートメントなしで BUILD ファイルで常に使用できます。
- その他の操作
- 全般
- プラットフォーム
- Workspace
埋め込みのネイティブ以外のルール
Bazel には、Starlark で記述された追加のルールも埋め込まれています。これらは、@bazel_tools
組み込み外部リポジトリから読み込むことができます。