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